KeyListener reagiert teils nicht auf die Leertaste

M

mr12345

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:
	@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?
 
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).
 
Ja, habe ich, allerdings in Verbindung mit Slick, also einer Game Engine.
 
Das kannst du vom Aufbau her nicht vergleichen, da die Gameengine vermutlich kein Event-Basierendes Modell verwendet, sondern eines das auf Polling basiert.
 

Neue Beiträge

Zurück