我正在制作一个HTML5游戏。当用户按下这个键(假设是z)时,角色会攻击。然而,在我目前的代码中,用户可以一直按住z键,使角色无限攻击。我需要实现一个代码来防止这种“长按”发生。换句话说,如果用户一直按住z键,角色最终会停止攻击,因此用户必须不断点击z键,而不能只是按住键不放。
你可以实现一个标志(flag),它只会触发一次,除非被重置(reset)。 var pressed = false; window.addEventListener("keydown", ()=>{ if(!pressed){ pressed = true; //Do thing } } window.addEventListener("keyup", ()=>{ pressed = false; }
keyup
事件? - tanmaykeydown
。在这种情况下,用户必须一遍又一遍地按键。 - warl0ck