@amperka/animation

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем baf, 18 сен 2016.

  1. baf

    baf Нуб

    Как перезапустить анимацию?
    после myAnim.stop();
    анимация не запускается с помощью myAnim.play(); (

    Код (Javascript):

    var myButton = require('@amperka/button')
      .connect(C4, {
        holdTime: 0.5
      });
    var Led1 = require('@amperka/led').connect(B6);
    Led1.turnOn();
    var myAnim = require('@amperka/animation').create({
      from: 100,        
      to: 0,            
      duration: 2,      
      updateInterval: 0.01
    });

    myButton.on('press', function() {
      myAnim.stop();
    });

    myButton.on('release', function() {
      myAnim.play();
      myAnim.on('update', function(val) {
        Led1.brightness(val/100);
        console.log(val/100);
      });  
    });
     
     
  2. acos

    acos Официальный гик Администратор

    Извиняюсь, тороплюсь-убегаю.
    Там некрасивость - play запускает только в первый раз, далее он уже ничего не делает) т.е. анимацию нужно создавать заново каждый раз
    Посмотрите, как сделано в lookModuar, там анимации используются для включения нот
    https://github.com/amperka/LookModular/blob/master/code/lookModular.js
     
  3. baf

    baf Нуб

    Большое спасибо! Работает)
    Код (Javascript):
    var myButton = require('@amperka/button')
      .connect(C4, {
        holdTime: 0.5
      });
    var Led1 = require('@amperka/led').connect(B6);
    Led1.turnOn();

    var myAnim = require('@amperka/animation');

    myButton.on('press', function() {
      Anim.stop();
      console.log('press');
    });

    myButton.on('release', function() {
     
      Anim = myAnim.create({
        from: 100,        
        to: 0,            
        duration: 2,      
        updateInterval: 0.01
      });
      Anim.play();
      Anim.on('update', function(val) {
        Led1.brightness(val/100);
      });
    });