【发布时间】:2017-04-18 19:57:30
【问题描述】:
我正在尝试使用 JavaFx onKeyPressed 事件复制动作游戏多次按键的行为,我注意到每个基于 Windows 的键盘输入处理程序中似乎都会出现一些更普遍的问题,即: 想要的行为:
用户按住“W” - 检测/打印 W 键 用户在按住“W”的同时按住其他键“R” - 检测到“W”,然后检测到“R”。 当“R”被释放时,“W”在他被释放之前仍然应该被检测到。
真正发生的事情: 打开任何编辑器并按这些键先按住W然后按住R,它会打印出类似的内容:
WWWWWWWWWWRRRRRRRRRRRR
虽然想要的行为是:
WRWRWRWRWRWRWRWRWRWRWR
此外,当 R 发布时 - W 根本不会被打印! 现在我正在使用 JavaFx 键事件检测,我猜测它基于 Windows 键事件检测,我知道我可以为此做一些解决方法来检测所有键(在发布时使用堆栈和弹出键)但我想知道是这是配置问题还是我遗漏了什么? 你可以看到,在大多数电脑游戏中,这个问题都得到了解决,即当你按下运行并输入一些不敬的键时,你会继续在游戏中运行。
【问题讨论】:
标签: windows javafx user-input