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';
   }