我在画布上制作蠕虫游戏,但我不能让我的代码绘制出线条。我使用几个for循环来检查每个变量的2D数组。这是我现在所拥有的。 W是代码“应该”画在围绕画布边缘的框中的墙。 A是空气或空白,它不应该做任何事情。我认为ctx.fillRect是它没有做任何事情,所以我想知道如何解决它。Javascript蠕虫游戏画布问题
var W = 9001;
A = 9000;
var level = [
[W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W], //21*13 Grid
[W,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,W],
[W,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,W], //
[W,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,W],
[W,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,W], //
[W,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,W],
[W,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,W], //
[W,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,W],
[W,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,W], //
[W,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,W],
[W,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,W], //
[W,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,W],
[W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W] // Comments for easy counting
]
function drawLevel(){
var canvas = document.createElement('canvas');
canvas.id = "WormGame";
canvas.width = 420;
canvas.height =260;
canvas.style.border = "1px solid";
var ctx = canvas.getContext('2d');
var body = document.getElementsByTagName("body")[0];
body.appendChild(canvas);
ctx.fillRect(0,0,20,20);
for(i=0;i>20;i++){
for(j=0;j>12;j++){
if(level[i][j] = 9001){
var x = 20*i;
y = 20*j;
ctx.fillRect(x,y,20,20);
}
}
}
}
有什么问题? – amphetamachine 2014-09-18 15:53:52
使用循环创建级别数组;这样,您不必手动计算字符。 – 2014-09-18 15:56:56