我正在做一个基本的游戏,现在我要进行碰撞检查。我从一个数组加载了mapp,但是我被困在绘制它的代码上。
加载数组:
var levelArray=[
[1,0,0,0,0,0,0,0,0,1],
[1,0,2,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,0,1],
[1,1,1,1,1,1,1,1,1,1]
]
这是我的代码,尝试绘制块(1)。
for(arrayx=0;arrayx<11;arrayx++){
if (levelArray[arrayx][arrayy]==1){
canvas_context.fillStyle = "blue";
canvas_context.fillRect(arrayx*32,arrayy*32,32,32);
}
if (arrayx==10 && arrayy<11){
arrayy++
}
}
有人可以帮助我,告诉我我要去哪里了吗?
最佳答案
像这样在循环内部制作循环:
var x;
var y;
var lengthX;
var lengthY;
for(x = 0 , lengthX = levelArray.length ; x < lengthX ; x++){
for(y = 0 , lengthY = levelArray[x].length ; y < lengthY ; y++){
if(levelArray[x][y] == 1){
//draw
}
}
}
或先是y,然后是y循环内的x。