如何防止长时间按下Javascript?

时间:2017-04-18 06:45:46

标签: javascript

我正在制作HTML5游戏。当用户按下该键(假设z)时,角色会攻击。但是,目前在我的代码中,用户可以只持有z,以便角色无限期地攻击。

我需要实现一个代码来阻止这种“长按”的发生。换句话说,如果用户持续按住z,角色最终将停止攻击,因此用户必须继续点击z而不是仅仅按住键。

2 个答案:

答案 0 :(得分:1)

除非重置,否则您可以实现仅触发一次的标志。

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

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

答案 1 :(得分:-2)

如果您正在使用keypresskeydown个活动,请尝试改为使用keyup