所以我对Java编程很新,我正在试图弄清楚keyEventListeners如何在Java中工作。我设法制作了一个小程序,你可以在其中引导一个红色方块,但唯一的问题是,它只适用于QWERTY键盘。
这是检查keyCode的代码:
public void keyPressed(KeyEvent e){
int c = e.getKeyCode();
if(c == KeyEvent.VK_LEFT){
velX = -1;
velY = 0;
}
if(c == KeyEvent.VK_UP){
velX = 0;
velY = -1;
}
if(c == KeyEvent.VK_RIGHT){
velX = 1;
velY = 0;
}
if(c == KeyEvent.VK_DOWN){
velX = 0;
velY = 1;
}
}
如何将其更改为azerty箭头键,以及(如果可能)两者? 提前谢谢。
答案 0 :(得分:0)
您可以打印您无法识别的密钥代码以及密钥字符(对箭头键可能没什么帮助)。通过这种方式,您可以找到不同类型键盘上的键代码。
箭头键是否在azerty键盘上有其他键代码,或者这些键是否映射到相同的键代码(KeyEvent.VK_LEFT和其他键)?如果您有其他密钥代码,可以将其添加到if条件。
在代码中:
public void customKeyPressed(KeyEvent e){
int c = e.getKeyCode();
if(c == KeyEvent.VK_LEFT || c == AZERTY_LEFT){
velX = -1;
velY = 0;
} else if(c == KeyEvent.VK_UP || c == AZERTY_UP){
velX = 0;
velY = -1;
} else if(c == KeyEvent.VK_RIGHT || c == AZERTY_RIGHT){
velX = 1;
velY = 0;
} else if (c == KeyEvent.VK_DOWN || c == AZERTY_DOWN) {
velX = 0;
velY = 1;
} else
System.out.println(e.getKeyChar() + " = " + c);
}