我正在制作基本游戏,现在我正在进行碰撞检查。我从一个数组中加载了我的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++
}
}
有人能帮帮我,告诉我哪里出错了吗?
答案 0 :(得分:2)
只需在循环中循环:
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 first和x y loop。
答案 1 :(得分:0)
您没有循环遍历数组的每个元素。使用两个for循环。