因此,我对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;
}
}如何将此更改为阿兹蒂箭头键,以及(如果可能的话)这两个键?提前谢谢。
发布于 2014-01-18 14:41:20
您可以打印您不认识的密钥代码,以及键字符(可能对箭头键没有多大帮助)。这样你就可以知道不同类型键盘上的键码是什么。
箭头键上有其他键码吗?还是这些键被映射到相同的键码(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);
}https://stackoverflow.com/questions/21204894
复制相似问题