我正在尝试制作一个非常简单的游戏,但它仍然可能需要同时获取8个按键。
使用keyListener,我可以花3-4左右的时间,这是我不希望的。
我不知道如何使用keyBinding,我认为它将解决我的问题。 (请不要仅仅放置此链接,我已经查看了它以及其他来源:https://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html)
我的第一个猜测是将线程添加到keyListener中,但是我不知道如何执行此操作,而对它进行查找并没有给我不错的答案。
private void makeKeyListeners() {
f.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {}
@Override
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
switch (key) {. . .}
}
@Override
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
switch (key) {. . .}
}
});
}
使用此功能时,我输入的信息不足(无法检测到同时按下8个键)
所以我的大问题是;如何一次从8个以上的按键中获取输入?
如果解决此问题的最佳方法是使用keyBindings,您能帮我一个忙,并深入解释它们吗?
答案 0 :(得分:0)
这是硬件问题。我去了http://blog.controlspace.org/2010/08/n-key-rollover-what-it-is-and-how-to.html?m=1(MadProgrammer的评论),测试了我拥有的3种不同的键盘,它们的性能各不相同。