アニメーションを作成するために、HTML5キャンバスを試しています。私の最終的な目標は、気まぐれで特定の場所にボックスをアニメーション化できるようにすることです。今のところ、画面全体でボックスをアニメーション化するだけです。画面上で移動すると、黒い跡が残ります。背景グリッドを削除せずに、この「ダーティ」セクションをクリアするにはどうすればよいですか。
コードのjsFiddleはここにあります
アニメーションを作成するために、HTML5キャンバスを試しています。私の最終的な目標は、気まぐれで特定の場所にボックスをアニメーション化できるようにすることです。今のところ、画面全体でボックスをアニメーション化するだけです。画面上で移動すると、黒い跡が残ります。背景グリッドを削除せずに、この「ダーティ」セクションをクリアするにはどうすればよいですか。
コードのjsFiddleはここにあります
2つのソリューション
新しい場所に移動する前に、アニメーションの上部に背景を再描画します。このいわゆるダーティスプライトテクニック-より速く-より複雑。
フレーム間でキャンバス全体を再描画します
背景の描画が複雑な操作である場合は、準備した背景を別のキャンバスにバッファリングして速度を上げるだけです。
表示したくない場合は、描画したものをクリアする必要があります。グリッドの再描画とCPUサイクルの消費を避けるために、キャンバス全体をクリアしたくないと思います。これは別の方法で行う必要があります。
可能な解決策: