我是JS的初学者,正在开发一个游戏项目,我的项目是贪吃蛇游戏。一切都很顺利,只是当我快速按下多个键时,蛇就会死亡,因为(我认为)这是一种碰撞。这就是为什么我想要禁用多次按键,以尝试解决这个问题。 我的代码:
var Snake = function()
{
//this is the direction table; UP, RIGHT, DOWN, LEFT
this.directions = [[0, -1], [1, 0], [0, 1], [-1, 0]];
}
function onKeyDown(event)
{
if (gameover)
tryNewGame();
else
{
if (event.keyCode == 37 || event.keyCode == 65)
{
if (snake.direction != 1)
snake.direction = 3;
}
else if (event.keyCode == 38 || event.keyCode == 87)
{
if (snake.direction != 2)
snake.direction = 0;
}
else if (event.keyCode == 39 || event.keyCode == 68)
{
if (snake.direction != 3)
snake.direction = 1;
}
else if (event.keyCode == 40 || event.keyCode == 83)
{
if (snake.direction != 0)
snake.direction = 2;
}
}
}
keyup
事件之前锁定输入。 - isherwood