Javascript 关闭按键侦听器功能的游戏暂停
我正在玩一个非常简单的游戏,它有一个左右箭头的键侦听器 当我用空格键暂停游戏时,我希望那些听众在游戏暂停时什么也不做。我在想我可以在暂停功能中实现这一点,或者当空格键被按键侦听器听到时。我对这个比较陌生,只是不知道怎么做Javascript 关闭按键侦听器功能的游戏暂停,javascript,events,key,Javascript,Events,Key,我正在玩一个非常简单的游戏,它有一个左右箭头的键侦听器 当我用空格键暂停游戏时,我希望那些听众在游戏暂停时什么也不做。我在想我可以在暂停功能中实现这一点,或者当空格键被按键侦听器听到时。我对这个比较陌生,只是不知道怎么做 function keyListener(e){ if(!e){ //for IE e = window.event; } if(e.keyCode==37 && paddleLeft > 0){ //
function keyListener(e){
if(!e){
//for IE
e = window.event;
}
if(e.keyCode==37 && paddleLeft > 0){
//keyCode 37 is left arrow
paddleLeft -= 25;
paddle.style.left = paddleLeft + 'px';
}
if(e.keyCode==39 && paddleLeft < 925){
//keyCode 39 is right arrow
paddleLeft += 25;
paddle.style.left = paddleLeft + 'px';
}
if(e.keyCode==32){
pause();
}
}
if(e.keyCode==37&&paileft>0&&pailed){
//键代码37为左箭头
左-=25;
blade.style.left=blade left+‘px’;
}
如果(e.keyCode==39&&paileft<925&&pailed){
//键代码39为右箭头
左+=25;
blade.style.left=blade left+‘px’;
}
只要放一个!游戏暂停左/右ifs中的状态
如果禁用Kelististor,你就不能再暂停游戏了。
< P>或者,你可能想考虑维护一组关键侦听器。空格键将把一个新的键侦听器推到堆栈上,相应的菜单选项将弹出它,游戏循环将只更新顶部的侦听器function pause(){
if(!gamePaused){
timer = clearTimeout(timer);
gamePaused = true;
} else if(gamePaused) {
timer = setTimeout(start(),1000/50);
gamePaused = false;
}
}
if(e.keyCode==37 && paddleLeft > 0 && !gamePaused){
//keyCode 37 is left arrow
paddleLeft -= 25;
paddle.style.left = paddleLeft + 'px';
}
if(e.keyCode==39 && paddleLeft < 925 && !gamePaused){
//keyCode 39 is right arrow
paddleLeft += 25;
paddle.style.left = paddleLeft + 'px';
}