我目前正在学习如何使用键绑定。我正在玩弄我写的代码,我注意到当我按下两个键(箭头键)时,只有最后一个键会运行。我应该简单地使用KeyListener还是有办法让它工作?从它的游戏开始,它必须能够同时运行4个键。
>>> str(ord('x'))
'120'
>>> str(ord('ç'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: ord() expected a character, but string of length 2 found
>>>
这是代码
答案 0 :(得分:2)
我注意到当我按下两个键(箭头键)时,只有最后一个键会运行
因为只为最后一个按键生成了事件
我应该只使用KeyListener
无论您使用KeyListener还是KeyBindings,都是如此。它是生成事件的操作系统。
从游戏开始,它必须能够同时运行4个键。
因此,解决方案是在按下/释放时跟踪每个键
结帐Motion Using the Keyboard。 KeyboardAnimation
示例显示了如何使用KeyBindings完成此操作。
答案 1 :(得分:1)
在我的linked to answer中执行我的建议:
HashMap<Direction, Boolean>