キャンバスにアニメーションを実装したいのですが、アニメーションの各フレームをスプライト上に描画し、1つの画像に接続します。アニメーションを実装するためにsetTimeoutを使用しようとしましたが、requestAnimationFrameではフレームレートを制御できません。 1 秒で 7 フレームを描画したい場合はどうすればよいでしょうか?
requestAnimationFrameはブラウザが次のフレームをレンダリングするときに呼び出されるため、requestAnimationFrameの呼び出しレートはブラウザのリフレッシュレートであると考えることができ、通常は60フレームです
ただし、requestAnimationFrame がコールバックを呼び出すと、タイムスタンプ パラメーターが渡されます。このパラメーターに基づいて判断して、実際に必要なフレーム レートを処理することができます
たとえば、1秒あたり7フレームが必要な場合は、次のように記述できます
それは制御できないようです、ブラウザがそれを自動的に計算します
1s7 フレームのリフレッシュ レートは...実際には「フレームスキップ」の効果です...
requestAnimationFrameはブラウザが次のフレームをレンダリングするときに呼び出されるため、requestAnimationFrameの呼び出しレートはブラウザのリフレッシュレートであると考えることができ、通常は60フレームです
ただし、requestAnimationFrame がコールバックを呼び出すと、タイムスタンプ パラメーターが渡されます。このパラメーターに基づいて判断して、実際に必要なフレーム レートを処理することができます
たとえば、1秒あたり7フレームが必要な場合は、次のように記述できます
リーリーそれは制御できないようです、ブラウザがそれを自動的に計算します
1s7 フレームのリフレッシュ レートは...実際には「フレームスキップ」の効果です...