Ich habe ein Problem. Ich habe einige einfache Funktionen implementiert, die beim Drücken von Pfeilen aufgerufen werden.Nicht erkannt zwei Pfeile gedrückt - Java Swing
public void keyPressed(KeyEvent e)
{
int key = e.getKeyCode();
if(key == KeyEvent.VK_LEFT)
{
double t = p.getAngle();
if(p.getIsTurning())
t+=3;
else
t+=6;
p.setAngle(t);
p.setIsTurinig(true);
}
else if(key == KeyEvent.VK_UP)
{
p.setVelX(p.getVelX()+p.getAcceleration());
p.setIsAccelerating(true);
}
}
Wenn ich Pfeil nach oben und dann nach links drücke, funktioniert alles gut. Wenn ich jedoch den linken Pfeil und dann den Pfeil nach oben drücke, wird nur die Funktion Pfeil nach oben erkannt.
Was könnte das Problem verursachen?
Natürlich wäre der erste else wenn sollte – chodi
Dann sollten Sie Ihren Code bearbeiten, um dies anzuzeigen. – DevilsHnd
Verwenden Sie keinen KeyListener. Sie sollten 'Key Bindings' verwenden, um bestimmte Ereignisse zu behandeln. Weitere Informationen und Arbeitsbeispiele, die mit mehreren gleichzeitig gedrückten Tasten funktionieren, finden Sie unter [Bewegung mit der Tastatur](). – camickr