我正在制作HTML5游戏。当用户按下该键(假设z)时,角色会攻击。但是,目前在我的代码中,用户可以只持有z,以便角色无限期地攻击。
我需要实现一个代码来阻止这种“长按”的发生。换句话说,如果用户持续按住z,角色最终将停止攻击,因此用户必须继续点击z而不是仅仅按住键。
答案 0 :(得分:1)
除非重置,否则您可以实现仅触发一次的标志。
var pressed = false;
window.addEventListener("keydown", ()=>{
if(!pressed){
pressed = true;
//Do thing
}
}
window.addEventListener("keyup", ()=>{
pressed = false;
}
答案 1 :(得分:-2)
如果您正在使用keypress
或keydown
个活动,请尝试改为使用keyup
。