Endscreen fertiggestellt, nur noch nicht eingebungen - Button-Clicks existieren
This commit is contained in:
parent
380d469010
commit
a348fb03a5
@ -64,12 +64,13 @@ public class HappyBirdMain extends Application {
|
|||||||
private final Button backMenuButton = new Button();
|
private final Button backMenuButton = new Button();
|
||||||
private final Button restartGameButton = new Button();
|
private final Button restartGameButton = new Button();
|
||||||
private final Button personalHighscoresButton = new Button ("YOUR SCORES");
|
private final Button personalHighscoresButton = new Button ("YOUR SCORES");
|
||||||
|
private final Button backEndscreenButton = new Button("ZURÜCK");
|
||||||
|
|
||||||
/*Buttons in Arrays speichern*/
|
/*Buttons in Arrays speichern*/
|
||||||
private final Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton, settingsButtonPause, menuButtonPause, backButtonPause, backMenuButton, restartGameButton, personalHighscoresButton};
|
private final Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton, settingsButtonPause, menuButtonPause, backButtonPause, backMenuButton, restartGameButton, personalHighscoresButton, backEndscreenButton};
|
||||||
private final Button[] pauseButtons = {continueButton, settingsButtonPause, menuButtonPause, backButtonPause};
|
private final Button[] pauseButtons = {continueButton, settingsButtonPause, menuButtonPause, backButtonPause};
|
||||||
private final Button[] backgroundButtons = {background1, background2};
|
private final Button[] backgroundButtons = {background1, background2};
|
||||||
private final Button[] endscreenButtons = {backMenuButton, restartGameButton, personalHighscoresButton};
|
private final Button[] endscreenButtons = {backMenuButton, restartGameButton, personalHighscoresButton, backEndscreenButton};
|
||||||
|
|
||||||
/*Textfelder erstellen und zuweisen*/
|
/*Textfelder erstellen und zuweisen*/
|
||||||
private final TextField name = new TextField();
|
private final TextField name = new TextField();
|
||||||
@ -980,6 +981,13 @@ public class HappyBirdMain extends Application {
|
|||||||
"-fx-alignment: center;");
|
"-fx-alignment: center;");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* public void generateEndScreen() generiert den Endscreen - sobald das Spiel beendet ist
|
||||||
|
* (man verloren hat). Es werden die Punkte des Spielers angezeigt, und es bestehen die Möglichkeiten,
|
||||||
|
* das Spiel neu zu starten
|
||||||
|
* das zum Hauptmenü zurückzukehren
|
||||||
|
* sich seine persänlichen Highscores anzeigen zu lassen
|
||||||
|
*/
|
||||||
public void generateEndScreen() {
|
public void generateEndScreen() {
|
||||||
endScreenFormating();
|
endScreenFormating();
|
||||||
/*Name und Highscores ausblenden, Pause-Button ausblenden*/
|
/*Name und Highscores ausblenden, Pause-Button ausblenden*/
|
||||||
@ -990,12 +998,13 @@ public class HappyBirdMain extends Application {
|
|||||||
|
|
||||||
/**/
|
/**/
|
||||||
endScreen.setVisible(true);
|
endScreen.setVisible(true);
|
||||||
endScreen.getChildren().add(currentScoreEndscreenLabel);
|
|
||||||
currentScoreEndscreenLabel.setVisible(true);
|
|
||||||
|
|
||||||
endScreen.getChildren().add(endScreenHeadline);
|
endScreen.getChildren().add(endScreenHeadline);
|
||||||
endScreenHeadline.setVisible(true);
|
endScreenHeadline.setVisible(true);
|
||||||
|
|
||||||
|
endScreen.getChildren().add(currentScoreEndscreenLabel);
|
||||||
|
currentScoreEndscreenLabel.setVisible(true);
|
||||||
|
|
||||||
/* Buttons einfügen */
|
/* Buttons einfügen */
|
||||||
int yPosition = 200;
|
int yPosition = 200;
|
||||||
for (Button button : endscreenButtons) {
|
for (Button button : endscreenButtons) {
|
||||||
@ -1006,7 +1015,7 @@ public class HappyBirdMain extends Application {
|
|||||||
button.setVisible(true);
|
button.setVisible(true);
|
||||||
}
|
}
|
||||||
pane.getChildren().add(endScreen);
|
pane.getChildren().add(endScreen);
|
||||||
|
backEndscreenButton.setVisible(false);
|
||||||
/* Click-Events für die Buttons */
|
/* Click-Events für die Buttons */
|
||||||
backMenuButton.setOnAction(event -> backMenuButtonClick());
|
backMenuButton.setOnAction(event -> backMenuButtonClick());
|
||||||
personalHighscoresButton.setOnAction(event -> personalHighscoresButtonClick());
|
personalHighscoresButton.setOnAction(event -> personalHighscoresButtonClick());
|
||||||
@ -1029,15 +1038,60 @@ public class HappyBirdMain extends Application {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* die Funktion restartGameButtonClick() startet das Spiel neu
|
||||||
|
*/
|
||||||
private void restartGameButtonClick() {
|
private void restartGameButtonClick() {
|
||||||
pane.getChildren().remove(endScreen);
|
pane.getChildren().remove(endScreen);
|
||||||
startGameButtonClick();
|
startGameButtonClick();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* personalHighscoresButtonClick() zeigt bei Drücken des Highscore-Buttons im Endscreen
|
||||||
|
* die persänlichen besten 5 Scores an
|
||||||
|
*/
|
||||||
private void personalHighscoresButtonClick() {
|
private void personalHighscoresButtonClick() {
|
||||||
|
/* alle Buttons ausblenden */
|
||||||
|
for(Button button : endscreenButtons) {
|
||||||
|
button.setVisible(false);
|
||||||
|
}
|
||||||
|
/* Back-Button einblenden */
|
||||||
|
backEndscreenButton.setVisible(true);
|
||||||
|
|
||||||
|
/* Überschrift ändern */
|
||||||
|
endScreenHeadline.setText("YOUR HIGHSCORES");
|
||||||
|
|
||||||
|
/* Highscore ausblenden */
|
||||||
|
currentScoreEndscreenLabel.setVisible(false);
|
||||||
|
|
||||||
|
/* Highscore-Label (Hintergrund) formatieren und einfügen */
|
||||||
|
highscoreMenuLabel.setLayoutX(275);
|
||||||
|
highscoreMenuLabel.setLayoutY(225);
|
||||||
|
highscoreMenuLabel.setPrefHeight(300);
|
||||||
|
highscoreMenuLabel.setPrefSize(250, 250);
|
||||||
|
highscoreMenuLabel.setVisible(true);
|
||||||
|
endScreen.getChildren().add(highscoreMenuLabel);
|
||||||
|
|
||||||
|
/* Highscores des Spielers einfügen */
|
||||||
|
String personalBestScores = calculatePersonalHighscores();
|
||||||
|
highscoreMenuLabel.setText(personalBestScores);
|
||||||
|
|
||||||
|
/* Zurück-Funktion in den Endscreen */
|
||||||
|
backEndscreenButton.setOnAction(event -> {
|
||||||
|
endScreenHeadline.setText("GAME OVER");
|
||||||
|
|
||||||
|
for(Button button : endscreenButtons) {
|
||||||
|
button.setVisible(true);
|
||||||
|
}
|
||||||
|
currentScoreEndscreenLabel.setVisible(true);
|
||||||
|
highscoreMenuLabel.setVisible(false);
|
||||||
|
backEndscreenButton.setVisible(false);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* backMenuButtonClick() ruft aus dem Endscreen das Hauptmenü auf
|
||||||
|
*/
|
||||||
private void backMenuButtonClick() {
|
private void backMenuButtonClick() {
|
||||||
pane.getChildren().remove(endScreen);
|
pane.getChildren().remove(endScreen);
|
||||||
generateMenueScene();
|
generateMenueScene();
|
||||||
|
Loading…
Reference in New Issue
Block a user