我正在制作HTML5游戏。当用户按下此键时(假设为z),角色会受到攻击。但是,当前在我的代码中,用户只需按住z即可使角色无限期攻击。

我需要实现一个代码,以防止这种“长按”事件的发生。换句话说,如果用户继续按住z,则角色最终将停止攻击,因此用户将不得不继续轻击z,而不仅仅是按住键。

最佳答案

您可以实现一个标志,除非重置,该标志只会触发一次。

var pressed = false;
window.addEventListener("keydown", ()=>{
  if(!pressed){
   pressed = true;
   //Do thing
  }
}

window.addEventListener("keyup", ()=>{
 pressed = false;
}

关于javascript - 如何防止长按Javascript?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43465377/

10-11 08:22