右にバウンドするボールのアニメーション
重要性: 5
次のように、ボールを右にバウンドさせます。:
アニメーションコードを記述してください。右への距離は 100px
です。
前のタスク バウンドするボールのアニメーション の答えをソースとして使ってください。
タスク バウンドするボールのアニメーション では、アニメーションするプロパティは1つだけでした。ここではもう1つ必要です。: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"
}
});