# Versch. Pfeiltasten angezeigt obwohl nur 1 gedrückt wird



## J@ckWhiteIII (16. Nov 2012)

Hallo,
ich bin gerade dabei, ein kleines 2D-Spiel zu programmieren. Dieses braucht natürlich auch eine Steuerung, die von den Pfeiltasten ausgehen soll. Da sich der Spieler immer nur beim Loslassen der bestimmten Pfeiltaste bewegen soll, schrieb ich Folgendes in die keyReleased Methode:


```
public void keyReleased(KeyEvent e) {
		switch(e.getKeyCode()){
		case KeyEvent.VK_UP:
			System.out.println("Up");
			Screen.p.y--;
		case KeyEvent.VK_DOWN:
			System.out.println("Down");
			Screen.p.y++;
		case KeyEvent.VK_LEFT:
			System.out.println("Left");
			Screen.p.x--;
		case KeyEvent.VK_RIGHT:
			System.out.println("Right");
			Screen.p.x++;
		}	
	}
```

Lasse ich nun die linke Pfeiltaste los, zeigt sich in der Konsole "Left" und "Right" nacheinander, was ja eigentlich nicht passieren soll. Natürlich dachte ich mir, dass ich ja eine Deutsche Tastatur habe, und somit die KeyCodes ja anders sein könnten...Also habe ich mich auf Google umgesehen; jedoch ohne Erfolg.
Vielleicht hat ja schon jemand hier diese Erfahrung gemacht und kann mir da helfen. Vielen Dank


----------



## bwbg (16. Nov 2012)

Du benötigst eine break-Anweisung nach jedem case-Block.

Grüße ... bwbg


----------



## trääät (18. Nov 2012)

allgemeiner aufbau von switch


```
switch(abc)
{
	case 1:
		//code
		break;
	case 2:
		//code
		break;
	default:
		//code
		//break hier nicht notwendig da DEFAULT immer als letzter eintrag stehen sollte
}
```


----------

