让球向右弹跳
重要性:5
在任务 动画弹跳球 中,我们只有一个属性需要动画。现在我们需要另一个:elem.style.left
。
水平坐标按另一个规律变化:它不会“弹跳”,而是逐渐增加,将球向右移动。
我们可以再写一个animate
。
作为时间函数,我们可以使用linear
,但像makeEaseOut(quad)
这样的函数看起来要好得多。
代码
let height = field.clientHeight - ball.clientHeight;
let width = 100;
// animate top (bouncing)
animate({
duration: 2000,
timing: makeEaseOut(bounce),
draw: function(progress) {
ball.style.top = height * progress + 'px'
}
});
// animate left (moving to the right)
animate({
duration: 2000,
timing: makeEaseOut(quad),
draw: function(progress) {
ball.style.left = width * progress + "px"
}
});