我在畫布上製作蠕蟲遊戲,但我不能讓我的代碼繪製出線條。我使用幾個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