Я хочу одушевить объект, который начинает медленную скорость, становясь быстрее, а затем возвращается к медленной скорости. моделирование того, что я хочу для того чтобы достигнуть:Изменение скорости анимации ткани js при анимации
sec: 1, duration: 5000, sec: 2, duration: 4000,
sec: 3, duration: 3000, sec: 4, duration: 2000,
sec: 5, duration: 1000, sec: 6, duration: 2000,
sec: 7, duration: 3000, sec: 8, duration: 4000,
sec: 9, duration: 5000
я попытался следующий код:
var rand = fabric.util.getRandomInt(4, 7);
function animateWheel(i) {
if (i == rand)
return;
var _duration = (rand -i) * 1000;
obj.animate('angle', 360 * i, {
duration: _duration,
onChange: canvas.renderAll.bind(canvas),
onComplete: function() { animateWheel(i + 1); },
easing: fabric.util.ease.easeOutCubic()
});
}
animateWheel(1);
, но проблема в том, что каждая анимация начинают со скоростью 0 и есть «скачки» не гладкий, смотрите пример кода: https://jsfiddle.net/o7ohgayw/
Это прекрасно, я буду продолжать учиться, спасибо. – kobe
так что разница в 'fabric.util.ease.easeInOutCubic' вместо' fabric.util.ease.easeOutCubic() ' – kobe
Это самое важное отличие. Но учтите, что с помощью функции ослабления вам не нужно иметь лишний код для повторного вызова функции animateWheel. Просто установите общее количество оборотов спереди, и это будет одна длинная анимация вместо начала после каждого вращения, как и раньше. –