キーが押されたときに適切に通知を受ける方法を理解するのに問題があります。複数のkeyPressed
キーを処理する場合、最初に押されたキーに対してメソッドが再度呼び出されることはないようです。
例:右矢印キーを押したままにすると、繰り返し呼び出されます (テストを印刷し続けます)。しかし、右矢印キーを押してからスペースキーを1回押し、右矢印キーを押したままにすると、スペースキーが離されるとすぐにkeyPressed()
メソッドが呼び出されないようです。(何も印刷されていません)。
これは私のコードがどのように見えるかです:
public void keyPressed(KeyEvent e) {
System.out.println("test");
switch (e.getKeyCode()) {
case KeyEvent.VK_LEFT:
guy.moveLeft();
break;
case KeyEvent.VK_RIGHT:
guy.moveRight();
break;
case KeyEvent.VK_SPACE:
guy.jump();
break;
}
}