我有一张100x100像素的瓷砖贴图。当我尝试在浏览器上打开游戏时,页面冻结,因为要绘制10000个图块。如何在没有问题的情况下画出这么多瓷砖。 我的draw()函数:
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)
}
}
答案 0 :(得分:1)
我不确定你要做什么,但看起来你正在将每个像素从图像绘制到画布上。
如果情况确实如此,我建议您立即绘制整个图像。
如果没有,我真的需要一个更详细的问题,也许需要对代码中的数学进行更多解释。
哦,别忘了用分号。