Сообщение от рони
|
CryNet,
нет смысла изменять плавность анимации в данном случае
timing: function(timeFraction) {
return Math.pow(timeFraction, 2);
},
можно просто
timing: function(timeFraction) {
return timeFraction
},
|
Разобрался:
function animate(options) {
var start = performance.now();
requestAnimationFrame(function animate(time) {
// timeFraction от 0 до 1
var timeFraction = (time - start) / options.duration;
if (timeFraction > 1) timeFraction = 1;
// текущее состояние анимации
var progress = 1 - options.timing(timeFraction)
console.log(progress)
options.draw(progress);
if (timeFraction < 1) {
requestAnimationFrame(animate);
}
});
}