Informatik

Epic Pause

Das Spiel soll beim Drücken einer Taste pausiert werden. Beim erneuten Drücken der Taste soll das Spiel wieder aufgenommen werden.

Damit wir das Spiel global pausieren können, brauchen wir ein Attribut in der Level-Klasse und eine Methode istPausiert.

Außerdem müssen wir das Attribut verändern, wenn die P-Taste gedrückt wird.

public class Level extends Stage {
    // ...
    private boolean pause;
 
    // ...
    public boolean istPausiert() {
        return pause;
    }
    // ...
    public void whenKeyPressed(int pKeyCode) {
        if(pKeyCode == KeyCode.VK_P) {
            // pause umkehren;
            this.pause = !this.pause;
        }
    }
    // ...

In den anderen Klassen wie Spieler und Plattform, müssen wir das Level bekannt machen und in der run-Methode abfragen, ob das Spiel pausiert ist. Wenn dies der Fall ist, dann beenden wir den Methodenaufruf an dieser Stelle.

public void run() {
    if (level.istPausiert()) {
        return;
    }
}
🥈 Pause