画面の解像度に応じてサイズを自動的に計算し、(より大きな) マップ上の位置に合わせてタイルをレンダリングするキャンバス オブジェクトを使用して、スクロール可能なタイルマップを構築しようとしました。
生成されたタイルを移動し、新しく描画する必要があるタイルのみを描画する予定でした。
つまり、マップをスクロールし、上部に新しいタイルを描画し (上に移動する場合など)、表示されているキャンバスの外にあるボタンの最後のタイルを削除します。
私の問題は次のとおりです。
キャンバス内のすべてのタイルの位置を変更することは、パフォーマンスにとってあまり良いことではないと思います。これは and を使用して解決できると思いますが、getImageData()
まだputImageData()
1 つの問題が残っています。
これらのタイルを移動して新しいタイルを描画すると、常に 30px (1 タイル = 30x30) の「ホップ」が発生するため、スムーズで線形のスクロール効果でこれを作成するためのシンプルでパフォーマンスの高い技術的な方法はありますか?