我正在制作一款蛇游戏,因为您可能已经从看到我以前的问题中知道。我下面了只是在做一个数组是这样的: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