Epic Pause
Das Spiel soll beim Drücken einer Taste pausiert werden. Beim erneuten Drücken der Taste soll das Spiel wieder aufgenommen werden.
Hilfe: Attribut Pause
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;
}
}
// ...
Hilfe: Pause in anderen Klassen nutzen
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;
}
}