我有我的代码。
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == 37){
personx -=2;
}
if (e.getKeyCode() == 38){
persony -=2;
}
if (e.getKeyCode() == 39){
personx +=2;
}
if (e.getKeyCode() == 40){
persony +=2;
}
try {
Thread.sleep((long) 0.04);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
代码不会移动角色。 我检查了它是否被调用,我写道:
public void keyPressed(KeyEvent e) {
System.out.println("Test");
}
但它没有打印测试。
答案 0 :(得分:1)
您的代码表明您正在使用Swing或AWT GUI。要使KeyListeners工作,您需要:
如果这是一个Swing GUI,我建议您实际上不使用KeyListener而是使用Key Bindings,因为它们比KeyListeners更灵活,并允许您在多个部分重用AbstractActions程序