1
我正在制作HTML5游戏。当用户按下这个键(让我们说z)角色攻击。但是,目前在我的代码中,用户只能持有z以便角色无限期地攻击。如何防止Javascript长按?
我需要实现一个代码,以防止发生这种“长按”。换句话说,如果用户持续持有z,角色最终会停止攻击,所以用户必须继续攻击z而不是仅仅按住键。
我正在制作HTML5游戏。当用户按下这个键(让我们说z)角色攻击。但是,目前在我的代码中,用户只能持有z以便角色无限期地攻击。如何防止Javascript长按?
我需要实现一个代码,以防止发生这种“长按”。换句话说,如果用户持续持有z,角色最终会停止攻击,所以用户必须继续攻击z而不是仅仅按住键。
如果您使用keypress
或事件,请尝试使用keyup
来代替。
你可以实现一个只会触发一次的标志,除非重置。
var pressed = false;
window.addEventListener("keydown",()=>{
if(!pressed){
pressed = true;
//Do thing
}
}
window.addEventListener("keyup",()=>{
pressed = false;
}
使用'keyup'呢? – tanmay
您可以用'keydown'所以在这种情况下,用户将不得不一次又一次 – warl0ck
按键请出示你如何捕捉按键事件当前的代码。最好还是提供一个[MCVE]。 –