$(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