java - 多次按键有时仅注册

标签 java keyboard

我有一个奇怪的小错误,我似乎无法清除它。我尝试过在 Eclipse 中使用调试器,但我似乎仍然无法弄清楚。

基本上,这是一个非常非常基本的平台游戏引擎。很多代码来自教程,但我一直在慢慢修改它并确保它一次一小步地工作。

现在的问题是,当您按住右箭头 + W + F 时,您会跳(W)到右侧(右箭头)并发射火球(F)。这是可行的,但是如果你在左边重复这个过程,你就不会发射火球。

我已经做了相当多的跟踪,跟踪当你进入火球循环时,当你按下按钮时,以及很多其他事情。目前,F 的按键似乎尚未注册。当然,这可能只是没有更新或者其他原因,我不确定。我只知道按键事件不会调用跟踪。

这似乎只有当玩家按下所有三个按键时才会出现。所以通常你可以向左边发射火球,这是有效的。我已经将代码上传到codesend,因为它很长而且我不想让Stackoverflow陷入困境。

我很乐意提供任何其他代码文档,我确实认为这四个应该足够了,但如果您认为需要更多,我将很乐意提供。

非常感谢您抽出时间。

代码:

Abstract Class MapObject - Player extends this

Player

RPG Movement - Player movement engine

Level1State - handles the key presses

最佳答案

请看这里。这就是我想让你做的。请查看此内容并告诉我这是否对您有帮助或者您是否仍然遇到问题。

handle multiple key presses ignoring repeated key

关于java - 多次按键有时仅注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19962377/

相关文章:

c++ - 从 WM_CHAR 消息中获取扫描码

java - Java Web 应用程序的类似桌面的 UI 实现?

java - 使用 Apache Beam 的 ZetaSQL 示例

java - 从第二个 Activity 启动第一个 Activity 的第二个选项卡 fragment

java - keyPressed 和 keyReleased 不起作用

javascript - javascript中的window.event.keyCode定义了哪个官方文档或者字典?

java - LibGDX And​​roid 部署应用程序时出错 : java. lang.ExceptionInInitializerError

java - 字节数据类型的默认格式

c# - 如何检查是否按下了屏幕键盘 Ctrl 键?

c# - 通过单击删除键按钮删除 DataGrid 行 (WPF)