Hallihallo,
folgendes: Ich versuche gerade ein kleines 2D-Rennauto-Spiel zu implementieren, bei der Steuerung meines Autos hab ich allerdings das Problem, dass ich entweder beschleunige ODER lenke.
Wenn ich beschleunige und dann nach links fahre, tut er das, hört aber auf zu beschleunigen. Beim loslassen der links-Taste macht das Auto garnichts mehr.
edit: Während ich beschleunigen aber nach wie vor gedrückt halte.
Hier mal mein Code:
Ich dachte erst an eine Lösung mit Threads, mein Tutor meinte allerdings, das sei unnötig kompliziert.
Vielleicht hat hier jemand einen Tipp für mich?
folgendes: Ich versuche gerade ein kleines 2D-Rennauto-Spiel zu implementieren, bei der Steuerung meines Autos hab ich allerdings das Problem, dass ich entweder beschleunige ODER lenke.
Wenn ich beschleunige und dann nach links fahre, tut er das, hört aber auf zu beschleunigen. Beim loslassen der links-Taste macht das Auto garnichts mehr.
edit: Während ich beschleunigen aber nach wie vor gedrückt halte.
Hier mal mein Code:
Code:
@Override
public void start(Stage stage) throws Exception {
stage.setScene(new Scene(createContent()));
stage.getScene().addEventFilter(KeyEvent.KEY_PRESSED,e -> {
if(e.getCode() == KeyCode.W)
player.setSpeed(0.25);
if(e.getCode() == KeyCode.A) {
if (player.getSpeed() != 0) {
player.rotateLeft();
}
}
if(e.getCode() == KeyCode.S)
player.setSpeed(-0.05);
if(e.getCode() == KeyCode.D) {
if (player.getSpeed() != 0) {
player.rotateRight();
}
}
});
stage.show();
}
Ich dachte erst an eine Lösung mit Threads, mein Tutor meinte allerdings, das sei unnötig kompliziert.
Vielleicht hat hier jemand einen Tipp für mich?