多个按键有时仅注册

时间:2013-11-13 19:12:36

标签: java keyboard

我有一个奇怪的小虫子,我似乎无法清除。我已经尝试在Eclipse中使用调试器,但我仍然无法弄明白。

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

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

我做了很多跟踪,当你进入火球循环,按下按钮时跟踪,还有很多其他事情。目前,看来F的按键没有被注册。当然,这可能只是它没有被更新或其他东西,我不确定。我只知道按键事件没有调用跟踪。

这似乎只有当玩家正在进行所有三次按键时。所以通常你可以向左边射出一个火球,这是有效的。我已经将代码上传到codesend,因为它很长,而且我不想陷入Stackoverflow。

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

非常感谢你的时间。

CODE:

Abstract Class MapObject - Player extends this

Player

RPG Movement - Player movement engine

Level1State - handles the key presses

1 个答案:

答案 0 :(得分:1)

请看这里。这就是我的意思。请看这个并告诉我这是否对您有所帮助,或者您是否还有问题。

handle multiple key presses ignoring repeated key