【发布时间】:2014-03-19 22:55:38
【问题描述】:
我有一个球以逐渐增加的速度下落的基本动画。
它最初以预期的速度在某种程度上按预期工作。所以点击画布我们可以重复动画,所以每次我们可以看到球的速度不断增加。点击 5-6 次后,小球高速移动。
问题在于帧速率和每帧的预期单位移动。 ?
1.如何减少/优化循环调用?,并在每次点击中获得恒定的速度。
我不喜欢更改 Ball 模型内部的值,但必须减少 ball.update() 的时间。
var ball = new Ball(10,10,20);
function animate() {
ctx.fillStyle = "#CCC";
ctx.fillStyle = "#CCC";
ctx.fillRect(0, 0, 500, 500);
ball.update();
ball.draw(ctx);
requestAnimationFrame(animate); // add timestamp to optimize ?
}
点击后重置动画是这样的
$("#element").on('click', function () {
ball = new Ball(10,10,20)
requestAnimationFrame(animate);
});
和2。为什么它最初以预期的速度工作?我更喜欢在球移出画布后清除动画。
【问题讨论】:
标签: javascript animation canvas html5-canvas frame-rate