tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
868
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mr12345 Tutorials.de Gastzugang
    Hi,

    hab ein Problem mit Tastenabfragen und diesbezüglich nirgendwo etwas gefunden.
    Mein KeyListener verhält sich seltsam. Wenn ich die Pfeiltasten rechts + oben oder rechts + unten gedrückt halte, reagiert er nicht mehr auf die Leertaste. Alle anderen Kombinationen mit den Pfeiltasten + Leertaste gehen.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    
        @Override
        public void keyPressed(KeyEvent e) {
            System.out.println(e.getKeyCode());
            if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
                player.setRight(true);
                player.setLeft(false);
            } else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
                player.setLeft(true);
                player.setRight(false);
            } else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
                player.setDown(true);
                player.setUp(false);
            } else if (e.getKeyCode() == KeyEvent.VK_UP) {
                player.setUp(true);
                player.setDown(false);
            } else if (e.getKeyCode() == KeyEvent.VK_SPACE) {
                player.setShooting(true);
            }
        }
     
        @Override
        public void keyReleased(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
                player.setRight(false);
            } else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
                player.setLeft(false);
            } else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
                player.setDown(false);
            } else if (e.getKeyCode() == KeyEvent.VK_UP) {
                player.setUp(false);
            } else if (e.getKeyCode() == KeyEvent.VK_SPACE) {
                player.setShooting(false);
            }
        }

    Wenn ich das VK_RIGHT durch eine (scheinbar) beliebige andere Taste ersetze geht es auch. Was mache ich falsch?
     

  2. #2
    mr12345 Tutorials.de Gastzugang
    Hat keiner eine Idee? Ist zum verzweifeln...
     

  3. #3
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Weil dein Problem vermutlich kein Programmierproblem ist:
    google: "mehrere Tasten drücken Windows"
    1. Treffer: http://de.wikipedia.org/wiki/Tastatur#Key_Rollover
     

  4. #4
    mr12345 Tutorials.de Gastzugang
    Dnake für die Antwort, aber das wird es nicht sein, ich habe ähnliche Sachen bereits programmiert, ich hatte nie solche Probleme (auf der selben Hardware und alles).
     

  5. #5
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Hast du genau die Kombinationen die du oben beschrieben hast schon mal verwendet?
     

  6. #6
    mr12345 Tutorials.de Gastzugang
    Ja, habe ich, allerdings in Verbindung mit Slick, also einer Game Engine.
     

  7. #7
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Das kannst du vom Aufbau her nicht vergleichen, da die Gameengine vermutlich kein Event-Basierendes Modell verwendet, sondern eines das auf Polling basiert.
     

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 16.09.08, 12:50
  2. KeyListener reagiert nicht!
    Von Pichel im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 03.09.08, 14:14
  3. KeyListener reagiert nicht
    Von Isolated im Forum Java
    Antworten: 9
    Letzter Beitrag: 08.03.07, 21:24
  4. objekt teils-teils texturieren
    Von hurra im Forum Cinema 4D
    Antworten: 2
    Letzter Beitrag: 26.02.06, 23:03
  5. Antworten: 2
    Letzter Beitrag: 21.10.04, 22:58