javascript - javascript 游戏 - 只需点击键而不是一直按住键即可获胜
问题描述
我正在浏览器中创建一个简单的游戏,目的是让玩家点击分配的键盘键(例如,玩家 1 需要点击键“A”,玩家 2 需要点击键“P”)。点击次数多的玩家(挑战时间为 10 秒)获胜。
问题是,我只希望游戏在按键被点击但不一直按住的情况下才能工作。因为你可以通过一直按住一个键来获胜。有没有办法让它工作,所以玩家必须点击而不是按住键?
解决方案
Key repeat 重复keydown
and (对于某些键)keypress
事件,但不重复该keyup
事件。因此,要执行您所描述的操作,您需要同时监听 thekeydown
和keyup
事件,并且仅keydown
当您keyup
从上一次看到 a 后才将 a 计为实际按键。
但是请参阅smartilabs 的回答 ——正如他们指出的那样,您可能只能自己 keyup
听。
推荐阅读
- google-chrome - 带有数字的 Chrome 控制台反斜杠
- flutter - shrinkWrap 在 ListView.builder 中做了什么?
- flutter - mvc 架构可以使用提供程序吗?
- python - 在 UI 元素中保留对源数据的引用
- architecture - 我是否需要 Saga 来确保始终处理消息?
- rust - 从字符串的随机 Vec 读取文件
- c++ - 用于 !函数调用之前的运算符
- ios - 使用新的 NSKeyedUnarchiver API 取消归档数据,但未能满足所需的 unarchivedObjectOfClass
- scala - 没有可用于 akka.actor.typed.ActorRef[org.knoldus.eventSourcing.UserState.Confirmation] 的 play.api.libs.json.Format 实例
- android - 在颤动中两次读取相同的标签NFC