そのため、現在、1秒間に20回再生されるバウンドするオブジェクトのアニメーションがあります。
1000/50 = 20 times a second
コードは次のとおりです。すべての変数が適切に初期化されていると想定できます。
var animation = setInterval(function () {
currentFrame++;
if (speedX <= 0.0) {
clearInterval(animation);
}
speedX -= 0.03;
speedY = (speedY + Math.sqrt((2 * currentFrame) / gravityPull));
yPosition += speedY;
if (yPosition > groundY) {
speedY *= -1;
yPosition = groundY;
}
xPosition += speedX;
$("#box").offset({ top: yPosition, left: xPosition });
}, 50);
Chromeはこのコードを実行しても完全に問題ないように見えますが、これはIEで非常に厄介なパフォーマンスを生み出しています。実際、それは非常に悪いので、コンピュータの多くを遅くします。
ここに何か問題がありますか?計算はかなり単純なようです...フレームレートはそれほど高くなく、1秒あたり20は極端ではありませんが、それほど途切れのないアニメーションには十分流動的です。