我正在为一个蛇游戏工作,任务是在“吃”蛇时提高蛇的速度。
我用setInterval画蛇,但是现在我必须逐渐提高速度,我有点迷路了。我也尝试过setTimeout,但是我认为我不了解如何正确使用它。
//when the snake "eats"
if (snakeX == food.x && snakeY == food.y){
food = {
x : Math.round(Math.random()*(cvsWidth/snakeWidth-1)),
y : Math.round(Math.random()*(cvsHeight/snakeHeight-1))
};
score++;
} else {
//Remove last
snake.pop();
}
//speed
var speed = 100;
setInterval(draw,speed);
答案 0 :(得分:4)
将setInterval
分配给变量可以让您使用clearInterval
清除它并使用新的速度:
var interval = setInterval(draw, speed);
在您的snake
中:
score++;
speed++; //Or wherever you add to speed
clearInterval(interval);
interval = setInterval(draw, speed);