@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 вызывается с единственным параметром: текущим промежуточным значением анимации.