我正在製作一款蛇遊戲,因爲您可能已經從看到我以前的問題中知道。我下面了只是在做一個數組是這樣的:Js setTimeout()不起作用
var snakeX = new Array();
var snakeY = new Array();
,然後在一個循環:
for (var i = 0;i<=num;i++) {
snakeX[0] = xCoord;
snakeY[0] = yCoord;
context.fillRect(snakeX[0], snakeY[0], sH, sW);
xCoord = xCoord + 11;
console.log('xCoord = ' + xCoord + ', yCoord = ' + yCoord);
}
和兩個xCoord
和yCoord
瓦爾設置爲0
。
我的問題是爲什麼這不工作?
setInterval(function() {
num++;
}, 1000);
這裏是我的一切:
function snake() {
//Let's make the snake start at 4 squares wide, and 1 square tall
function createSnake() {
var xCoord = 0;
var yCoord = 0;
var snakeX = new Array();
var snakeY = new Array();
var num = 3;
setInterval(function() {
num = num + 1;
}, 1000);
for (var i = 0;i<=num;i++) {
snakeX[0] = xCoord;
snakeY[0] = yCoord;
context.fillRect(snakeX[0], snakeY[0], sH, sW);
xCoord = xCoord + 11;
console.log('xCoord = ' + xCoord + ', yCoord = ' + yCoord);
}
}
createSnake();
}
snake();
'我<= num'應該是'我
0x499602D2
你認爲傳給間隔定時器的函數會做什麼?它只是增加了這個變量,但它沒有做任何事情來繪製更多的蛇。 – Pointy
你的預期行爲是什麼? – ggbranch