私は100x100ピクセルのタイルマップを持っています。ブラウザで自分のゲームを開こうとすると、10000枚のタイルを描くためページがフリーズします。どのように問題なくタイルを描くことができますか? マイドロー()関数:タイルマップのキャンバス
this.draws = function(){
for(j = 0; j < 10000; j++){
this.i = levels[1][1][j] - 17*Math.floor(levels[1][1][j]/17)
game.ctx.fillStyle = "red"
game.ctx.drawImage(game.tiileset,(this.i-1)*this.cellW,(Math.floor(levels[1][1][j]/17))*16,this.cellW,this.cellW,(j-100*Math.floor(j/100))*this.cellW-1,(Math.floor(j/100)+1)*this.cellW,this.cellW,this.cellW)
}
}
このとき、画面に表示されるものだけを描画する必要があります。スクロールしながら塗りつぶします。縮小すると、画像には異なるズーム範囲でレンダリングされるバージョンが少なくなります。 – Grallen
すべてのMath.floor(...)は、右の画像を切り抜いて正しい位置に配置することです。 [1] [1] [for]ループ内の現在のタイルIDです。 –