@amperka/animation
Анимации — это объекты, которые полезны для плавного изменения числовых параметров во времени. Например, чтобы медленно изменять угол поворота сервопривода или яркость светодиодной подсветки.
Объект-анимация включает в себя последовательность переходов (transitions), каждый из которых задаёт начальную величину, конечную и длительность преобразования. Набор переходов определяется пользователем библиотеки с помощью метода queue
.
Пока осуществляется переход, анимация периодически генерирует событие update
, на которое нужно подписаться, чтобы применять вычисленное промежуточное значение к конечному объекту анимации.
var myAnim = require('@amperka/animation').create({ from: 30, // анимация от 30 to: 120, // до 120 duration: 4, // продолжительностью 4 секунды updateInterval: 0.02 // с обновлением каждые 20 мс }).queue({ to: 90, // а сразу после этого от 120 до 90 duration: 1 // продолжительностью 1 секунду }); myAnim.on('update', function(val) { // Заставляем по мере обновления анимации поворачиваться сервопривод //myServo.write(val); }); myAnim.play();
Функции модуля
Создаёт и возвращает новый объект-анимацию с единственным переходом, заданным transition
. В качестве transition
принимается объект с полями:
from
— стартовое значение перехода (0, если не задано);to
— конечное значение перехода (1, если не задано);duration
— длительность перехода в секундах (1, если не задано);updateInterval
— период возникновения событияupdate
в секундах (0.01, если не задано);loop
— должен ли переход автоматически начинаться сначала, когда завершён (false
, если не задано).
После создания анимация не запускается автоматически. Используйте play
, чтобы начать проигрывание.
Класс объекта-анимации. Используйте create
, чтобы создать новый экземпляр.
Добавляет новый переход transition
в конец очереди переходов. Ожидает объект transition
подобный тому, что используется в create
.
Если какие-то поля не заданы, их значение берётся из последнего перехода в очереди.
Запускает анимацию. Не имеет эффекта, если анимация уже запущена.
Останавливает анимацию. Переводит текущее состояние (курсор) в нулевой момент первого перехода.
В качестве аргумента skip
принимается true
или false
. Значение этого аргумента определяет, должно ли возникнуть событие update
с конечным значением анимации после остановки (true
, если не задано).
Переворачивает последовательность переходов и направление проигрыша.
Возникает раз в updateInterval
текущего перехода. Функция callback
вызывается с единственным параметром: текущим промежуточным значением анимации.