0
我的问题是关于如何克服键盘问题。当按下'up'和'down'等特定键时,keyPressed方法会一直激活,但当按下'w'或's'键时,该方法只会激活一次,直到我释放并再按一次。我想知道如何模拟重复按键。Java:在mac键盘输入只能触发一次
这里是输入类:
public class Input extends KeyAdapter{
private GameObject p1;
private GameObject p2;
public Input(Handler handler){
p1 = handler.object.get(0);
p2 = handler.object.get(1);
}
public void keyPressed(KeyEvent e){
System.out.println("thismethodactivated");
int key = e.getKeyCode();
if(key == KeyEvent.VK_W) p1.setVelY(-5);
if(key == KeyEvent.VK_S) p1.setVelY(5);
if(key == KeyEvent.VK_D) p1.activate(1);
if(key == KeyEvent.VK_UP) p2.setVelY(-5);
if(key == KeyEvent.VK_DOWN) p2.setVelY(5);
if(key == KeyEvent.VK_LEFT) p2.activate(1);
}
public void keyReleased(KeyEvent e){
int key = e.getKeyCode();
if(key == KeyEvent.VK_W) p1.setVelY(0);
if(key == KeyEvent.VK_S) p1.setVelY(0);
if(key == KeyEvent.VK_UP) p2.setVelY(0);
if(key == KeyEvent.VK_DOWN) p2.setVelY(0);
}
}
感谢您的帮助,但我想出了一种方法来在另一个班级做同样的事情 –