$(document).keydown(function(e){
var key=e.which;
//to prevent reversing, add the possible value of d which hinders the snake to go to desired direction
if(key=="37"&&d!="right"){
if(p==true){
clearInterval(game_loop);
game_loop=setInterval(paint,60);
p=false;
d="left";
}
else{
d="left";
}
}
else if(key=="38"&&d!="down"){
if(p==true){
clearInterval(game_loop);
game_loop=setInterval(paint,60);
p=false;
d="up";
}
else{
d="up";
}
}
else if(key=="39"&&d!="left"){
if(p==true){
clearInterval(game_loop);
game_loop=setInterval(paint,60);
p=false;
d="right";
}
else{
d="right";
}
}
else if(key=="40"&&d!="up"){
if(p==true){
clearInterval(game_loop);
game_loop=setInterval(paint,60);
p=false;
d="down";
}
else{
d="down";
}
}
else if(key=="32"){
if(p==false){
clearInterval(game_loop);
p=true;
}
else{
game_loop=setInterval(paint,60);
p=false;
}
}
})
此代码定义了我的蛇的我的keydown。问题是。每当我同时按下2个键,或者如果我按下并快速离开(也许其他组合也是可能的),游戏结束了。我的功能检查碰撞到自己的身体后,我快速按下2键后返回true像下来,离开..一次按下的javascript多个按键出现错误
它怎么fixeD?
你检查第一件事是“d”的值,然后“p”和他们没有在这一点上宣布 - 有代码在这里丢失? – 2013-03-18 11:51:12