Compare commits
2 Commits
5e57dfa022
...
a0d5a48778
Author | SHA1 | Date | |
---|---|---|---|
a0d5a48778 | |||
6b51bb9275 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -4,58 +4,76 @@ import javafx.application.Application;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.control.Slider;
|
||||
import javafx.scene.image.*;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.input.KeyCode;
|
||||
import javafx.scene.layout.*;
|
||||
import javafx.scene.text.TextAlignment;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class HappyBirdMain extends Application {
|
||||
|
||||
private Pane pane = new Pane();
|
||||
private Scene scene = new Scene(pane, 800, 700);
|
||||
/*Panes erstellen und zuweisen*/
|
||||
private final Pane pane = new Pane();
|
||||
private final Pane pause = new Pane();
|
||||
|
||||
private Label nameLabel = new Label("NAME");
|
||||
private Label acronymLabel = new Label("KÜRZEL");
|
||||
private Label headline = new Label("HAPPY BIRD");
|
||||
private Label soundLabel = new Label("SOUND");
|
||||
private Label currentScoreLabel = new Label("SCORE");
|
||||
private Label highscoreLabel = new Label("HIGHSCORE");
|
||||
private Label pauseMenu = new Label("Pause");
|
||||
private Label labels[] = {nameLabel, acronymLabel, soundLabel, currentScoreLabel, highscoreLabel};
|
||||
private Label headlineLabels[] = {headline};
|
||||
/*Scene erstellen und zuweisen*/
|
||||
private final Scene scene = new Scene(pane, 800, 700);
|
||||
|
||||
private Button startButton = new Button("START");
|
||||
private Button highscoresButton = new Button("HIGHSCORES");
|
||||
private Button settingsButton = new Button("EINSTELLUNGEN");
|
||||
private Button startGameButton = new Button("SPIEL STARTEN");
|
||||
private Button menuButton = new Button("ZURÜCK");
|
||||
private Button pauseButton = new Button("PAUSE");
|
||||
private Button continueButton = new Button("WEITERSPIELEN");
|
||||
/*Labels erstellen und zuweisen*/
|
||||
private final Label nameLabel = new Label("NAME");
|
||||
private final Label acronymLabel = new Label("KÜRZEL");
|
||||
private final Label headline = new Label("HAPPY BIRD");
|
||||
private final Label soundLabel = new Label("SOUND");
|
||||
private final Label currentScoreLabel = new Label("SCORE");
|
||||
private final Label highscoreLabel = new Label("HIGHSCORE");
|
||||
private final Label pauseMenuLabel = new Label("PAUSE");
|
||||
private final Label soundLabelPause = new Label("SOUND");
|
||||
|
||||
private Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton};
|
||||
/*Labels in Arrays speichern*/
|
||||
private final Label[] labels = {nameLabel, acronymLabel, soundLabel, currentScoreLabel, highscoreLabel};
|
||||
private final Label[] headlineLabels = {headline};
|
||||
|
||||
private TextField name = new TextField();
|
||||
private TextField acronym = new TextField();
|
||||
/*Buttons erstellen und zuweisen*/
|
||||
private final Button startButton = new Button("START");
|
||||
private final Button highscoresButton = new Button("HIGHSCORES");
|
||||
private final Button settingsButton = new Button("EINSTELLUNGEN");
|
||||
private final Button startGameButton = new Button("SPIEL STARTEN");
|
||||
private final Button menuButton = new Button("ZURÜCK");
|
||||
private final Button pauseButton = new Button("PAUSE");
|
||||
private final Button continueButton = new Button("WEITERSPIELEN");
|
||||
private final Button settingsButtonPause = new Button("EINSTELLUNGEN");
|
||||
private final Button menuButtonPause = new Button("HAUPTMENÜ");
|
||||
private final Button backButtonPause = new Button("ZURÜCK");
|
||||
|
||||
private TextField inputFields[] = {name, acronym};
|
||||
/*Buttons in Arrays speichern*/
|
||||
private final Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton, settingsButtonPause, menuButtonPause, backButtonPause};
|
||||
private final Button[] pauseButtons = {continueButton, settingsButtonPause, menuButtonPause, backButtonPause};
|
||||
|
||||
private Slider soundSlider = new Slider();
|
||||
/*Textfelder erstellen und zuweisen*/
|
||||
private final TextField name = new TextField();
|
||||
private final TextField acronym = new TextField();
|
||||
|
||||
private Image bird = new Image("file:src/main/resources/com/example/happy_bird/pics/bird.png", 50, 35, false, false);
|
||||
/*Textfelder in Arrays speichern*/
|
||||
private final TextField[] inputFields = {name, acronym};
|
||||
|
||||
private Image upperPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeOben.png", 86, 300, false, false);
|
||||
private Image lowerPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeUnten.png", 86, 300, false, false);
|
||||
/*Slider erstellen und zuweisen*/
|
||||
private final Slider soundSlider = new Slider();
|
||||
private final Slider soundSliderPause = new Slider();
|
||||
|
||||
private Pane pause = new Pane();
|
||||
/*Bilder*/
|
||||
private final Image bird = new Image("file:src/main/resources/com/example/happy_bird/pics/bird.png", 50, 35, false, false);
|
||||
|
||||
private boolean gameRuns;
|
||||
private final Image upperPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeOben.png", 86, 300, false, false);
|
||||
private final Image lowerPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeUnten.png", 86, 300, false, false);
|
||||
|
||||
/*Variablen für den Spielverlauf*/
|
||||
//menuScreenRunning: das Hauptmenü ist aufgerufen
|
||||
private boolean menuScreenRunning;
|
||||
//gameRunning: das Spiel läuft/ GameScreen ist aufgerufen
|
||||
private boolean gameRunning;
|
||||
|
||||
|
||||
|
||||
@ -64,48 +82,38 @@ public class HappyBirdMain extends Application {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start(Stage stage) throws IOException {
|
||||
public void start(Stage stage) {
|
||||
|
||||
stage.setTitle("Happy Bird");
|
||||
stage.setScene(scene);
|
||||
|
||||
generateMenueScene();
|
||||
|
||||
gameRuns = false;
|
||||
/*ClickEvents:*/
|
||||
startButton.setOnAction(event -> startButtonClick());
|
||||
|
||||
/**ClickEvents:*/
|
||||
startButton.setOnAction(event -> {
|
||||
startButtonClick();
|
||||
});
|
||||
settingsButton.setOnAction(event -> settingsButtonClick());
|
||||
|
||||
settingsButton.setOnAction(event -> {
|
||||
settingsButtonClick();
|
||||
});
|
||||
highscoresButton.setOnAction(event -> highscoresButtonClick());
|
||||
|
||||
highscoresButton.setOnAction(event -> {
|
||||
highscoresButtonClick();
|
||||
});
|
||||
|
||||
menuButton.setOnAction(event -> {
|
||||
menuButtonClick();
|
||||
});
|
||||
menuButton.setOnAction(event -> menuButtonClick());
|
||||
|
||||
startGameButton.setOnAction(event -> {
|
||||
gameRuns = true;
|
||||
gameRunning = true;
|
||||
startGameButtonClick();
|
||||
});
|
||||
|
||||
|
||||
|
||||
stage.show();
|
||||
}
|
||||
|
||||
|
||||
public void generateMenueScene() {
|
||||
/**Bild für Hintergrund erstellen:*/
|
||||
menuScreenRunning = true;
|
||||
|
||||
/*Bild für Hintergrund erstellen:*/
|
||||
Image image = new Image("file:src/main/resources/com/example/happy_bird/pics/Background.png");
|
||||
|
||||
/**Hintergrund erstellen:*/
|
||||
/*Hintergrund erstellen:*/
|
||||
BackgroundImage backgroundImage = new BackgroundImage(
|
||||
image,
|
||||
BackgroundRepeat.NO_REPEAT,
|
||||
@ -114,29 +122,15 @@ public class HappyBirdMain extends Application {
|
||||
BackgroundSize.DEFAULT
|
||||
);
|
||||
|
||||
/**Hintergrund zu Pane hinzufügen:*/
|
||||
/*Hintergrund zu Pane hinzufügen:*/
|
||||
Background background = new Background(backgroundImage);
|
||||
pane.setBackground(background);
|
||||
|
||||
|
||||
|
||||
/**Labels erstellen:*/
|
||||
//nameLabel = new Label("NAME");
|
||||
//acronymLabel = new Label("KÜRZEL");
|
||||
//headline = new Label("HAPPY BIRD");
|
||||
//soundLabel = new Label("SOUND");
|
||||
//currentScoreLabel = new Label("SCORE");
|
||||
//highscoreLabel = new Label("HIGHSCORE");
|
||||
|
||||
|
||||
/**Labels in Arrays speichern:*/
|
||||
|
||||
|
||||
/**Labels formatieren:*/
|
||||
/*Labels formatieren:*/
|
||||
labelsFormating(labels, pane);
|
||||
headlineFormating(headlineLabels, pane);
|
||||
|
||||
/**alle labels an ihre Stelle:*/
|
||||
/*alle labels an ihre Stelle:*/
|
||||
int yPositionLabels = 225;
|
||||
for (Label label : labels) {
|
||||
label.setLayoutX(275);
|
||||
@ -144,60 +138,44 @@ public class HappyBirdMain extends Application {
|
||||
yPositionLabels += 150;
|
||||
}
|
||||
|
||||
/**headline an ihre Stelle:*/
|
||||
/*headline an ihre Stelle:*/
|
||||
headline.setLayoutX(250);
|
||||
headline.setLayoutY(100);
|
||||
headline.setVisible(true);
|
||||
|
||||
/**soundLabel an seine Stelle:*/
|
||||
/*soundLabel an seine Stelle:*/
|
||||
soundLabel.setLayoutY(225);
|
||||
|
||||
|
||||
|
||||
/**Buttons erstellen:*/
|
||||
//startButton = new Button("START");
|
||||
//highscoresButton = new Button("HIGHSCORES");
|
||||
//settingsButton = new Button("EINSTELLUNGEN");
|
||||
//startGameButton = new Button("SPIEL STARTEN");
|
||||
//menuButton = new Button("ZURÜCK");
|
||||
|
||||
/**Buttons in Array speichern:*/
|
||||
|
||||
|
||||
/**Buttons formatieren:*/
|
||||
/*Buttons formatieren:*/
|
||||
buttonsFormating(buttons, pane);
|
||||
|
||||
/**alle Buttons an ihre Stelle:*/
|
||||
/*alle Buttons an ihre Stelle:*/
|
||||
int yPositionButtons = 225;
|
||||
for (Button button : buttons) {
|
||||
button.setLayoutX(300);
|
||||
button.setLayoutY(yPositionButtons);
|
||||
yPositionButtons += 100;
|
||||
button.setVisible(true);
|
||||
}
|
||||
|
||||
/**menuButton an seine Stelle und vorerst ausblenden:*/
|
||||
/*menuButton an seine Stelle und vorerst ausblenden:*/
|
||||
menuButton.setLayoutX(575);
|
||||
menuButton.setLayoutY(625);
|
||||
menuButton.setVisible(false);
|
||||
|
||||
/**startGameButton unsichtbar*/
|
||||
/*startGameButton unsichtbar*/
|
||||
startGameButton.setVisible(false);
|
||||
|
||||
/**continueButton unsichtbar*/
|
||||
/*continueButton unsichtbar*/
|
||||
continueButton.setVisible(false);
|
||||
|
||||
/*settingsButtonPause unsichtbar*/
|
||||
settingsButtonPause.setVisible(false);
|
||||
|
||||
|
||||
/**Textfelder erstellen:*/
|
||||
//name = new TextField();
|
||||
//acronym = new TextField();
|
||||
|
||||
/**Textfelder in Array speichern:*/
|
||||
|
||||
|
||||
/**Textfelder formatieren:*/
|
||||
/*Textfelder formatieren:*/
|
||||
textfieldsFormating(inputFields, pane);
|
||||
|
||||
/**Textfelder an ihre Position:*/
|
||||
/*Textfelder an ihre Position:*/
|
||||
int yPositionInputFields = 290;
|
||||
for (TextField feld : inputFields) {
|
||||
feld.setLayoutX(275);
|
||||
@ -205,14 +183,8 @@ public class HappyBirdMain extends Application {
|
||||
yPositionInputFields += 150;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**SoundSlider erstellen:*/
|
||||
//soundSlider = new Slider();
|
||||
|
||||
/**SoundSlicer anpassen:*/
|
||||
/*SoundSlicer anpassen:*/
|
||||
soundSliderFormating(soundSlider, pane);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -220,50 +192,53 @@ public class HappyBirdMain extends Application {
|
||||
* Sichtbarmachen der richtigen Buttons, Labels, ...
|
||||
*/
|
||||
public void generateGameScreen() {
|
||||
/**Headline-Label umbenennen*/
|
||||
nameLabel.setText("NAME: " + acronym.getText());
|
||||
menuScreenRunning = false;
|
||||
|
||||
/**Textfelder ausblenden*/
|
||||
/*Headline-Label umbenennen*/
|
||||
nameLabel.setText("KÜRZEL: " + acronym.getText());
|
||||
|
||||
/*Textfelder ausblenden*/
|
||||
for(TextField feld : inputFields) {
|
||||
feld.setVisible(false);
|
||||
}
|
||||
|
||||
/**Labels ausblenden*/
|
||||
for (Label label : labels )
|
||||
{
|
||||
/*Labels ausblenden*/
|
||||
for (Label label : labels ) {
|
||||
label.setVisible(false);
|
||||
}
|
||||
headline.setVisible(false);
|
||||
|
||||
/**nameLabel, currentScoreLabel und highscoreLabel positionieren und sichtbar machen*/
|
||||
/*nameLabel positionieren und sichtbar machen*/
|
||||
nameLabel.setLayoutX(10);
|
||||
nameLabel.setLayoutY(10);
|
||||
nameLabel.setVisible(true);
|
||||
|
||||
/*currentScoreLabel positionieren und sichtbar machen*/
|
||||
currentScoreLabel.setLayoutX(540);
|
||||
currentScoreLabel.setLayoutY(10);
|
||||
currentScoreLabel.setVisible(true);
|
||||
|
||||
/*highscoreLabel positionieren und sichtbar machen*/
|
||||
highscoreLabel.setLayoutX(540);
|
||||
highscoreLabel.setLayoutY(70);
|
||||
highscoreLabel.setVisible(true);
|
||||
|
||||
/**Übrige Buttons ausblenden*/
|
||||
startGameButton.setVisible(false);
|
||||
menuButton.setVisible(false);
|
||||
|
||||
/**Pause-Button positionieren und sichtbar machen*/
|
||||
/*Pause-Button positionieren und sichtbar machen*/
|
||||
pauseButton.setLayoutX(575);
|
||||
pauseButton.setLayoutY(625);
|
||||
pauseButton.setVisible(true);
|
||||
|
||||
/**Vogel hinzufügen, bisher nur als Bild*/
|
||||
/*übrige Buttons ausblenden*/
|
||||
startGameButton.setVisible(false);
|
||||
menuButton.setVisible(false);
|
||||
|
||||
/*Vogel hinzufügen, bisher nur als Bild*/
|
||||
ImageView birdView = new ImageView(bird);
|
||||
pane.getChildren().add(birdView);
|
||||
birdView.setLayoutY(325);
|
||||
birdView.setLayoutX(50);
|
||||
|
||||
/**Pipes oben, unten hinzufügen, bisher nur als Bild*/
|
||||
/*Pipes oben, unten hinzufügen, bisher nur als Bild*/
|
||||
ImageView upperPipeView = new ImageView(upperPipe);
|
||||
pane.getChildren().add(upperPipeView);
|
||||
upperPipeView.setLayoutX(400);
|
||||
@ -382,41 +357,71 @@ public class HappyBirdMain extends Application {
|
||||
* Formatiert den PauseScreen
|
||||
*/
|
||||
public void pauseScreenFormating() {
|
||||
/*pause-Pane formatieren*/
|
||||
pause.setPrefSize(400, 400);
|
||||
pause.setLayoutX(200);
|
||||
pause.setLayoutY(100);
|
||||
pause.setPrefSize(400, 500);
|
||||
pause.setLayoutY(150);
|
||||
pause.setStyle("-fx-background-color: #DED894; " +
|
||||
"-fx-border-width: 5px;" +
|
||||
"-fx-border-color: #543847;" +
|
||||
"-fx-border-radius: 15px;" +
|
||||
"-fx-background-radius: 20px;");
|
||||
|
||||
/*pauseMenuLabel formatieren*/
|
||||
pauseMenuLabel.setPrefSize(300,50);
|
||||
pauseMenuLabel.setLayoutX(50);
|
||||
pauseMenuLabel.setLayoutY(10);
|
||||
pauseMenuLabel.setStyle("-fx-background-color: #DED894; " +
|
||||
"-fx-text-fill: #000000; " +
|
||||
"-fx-font-size: 35px; " +
|
||||
"-fx-font-weight: bold;" +
|
||||
"-fx-alignment: center;");
|
||||
|
||||
/*soundLabelPause formatieren*/
|
||||
soundLabelPause.setPrefSize(100, 50);
|
||||
soundLabelPause.setLayoutX(150);
|
||||
soundLabelPause.setLayoutY(100);
|
||||
soundLabelPause.setStyle("-fx-background-color: #DED894; " +
|
||||
"-fx-text-fill: #000000; " +
|
||||
"-fx-font-size: 20px; " +
|
||||
"-fx-font-weight: bold;" +
|
||||
"-fx-alignment: center;");
|
||||
}
|
||||
|
||||
/***
|
||||
* Hauptmenü wird ausgeblendet, Nameneingabe folgt
|
||||
*/
|
||||
public void startButtonClick() {
|
||||
/*Überschrift umbenennen*/
|
||||
headline.setText("START");
|
||||
startGameButton.setOnAction(event -> {
|
||||
startGameButtonClick();
|
||||
});
|
||||
|
||||
/*alle Buttons ausblenden*/
|
||||
for(Button button : buttons) {
|
||||
button.setVisible(false);
|
||||
}
|
||||
|
||||
startGameButton.setVisible(true);
|
||||
/*gebrauchte Buttons einblenden, ggf. anpassen*/
|
||||
menuButton.setVisible(true);
|
||||
startGameButton.setVisible(true);
|
||||
startGameButton.setLayoutY(520);
|
||||
|
||||
/*Textfelder einblenden*/
|
||||
for(TextField feld : inputFields) {
|
||||
feld.setVisible(true);
|
||||
}
|
||||
|
||||
/*Labels einblenden*/
|
||||
for (Label label : labels ) {
|
||||
label.setVisible(true);
|
||||
}
|
||||
|
||||
/*nicht verwendete Labels ausblenden*/
|
||||
highscoreLabel.setVisible(false);
|
||||
currentScoreLabel.setVisible(false);
|
||||
soundLabel.setVisible(false);
|
||||
|
||||
/*Click-Events*/
|
||||
startGameButton.setOnAction(event -> startGameButtonClick());
|
||||
}
|
||||
|
||||
|
||||
@ -424,7 +429,10 @@ public class HappyBirdMain extends Application {
|
||||
* Hauptmenü wird ausgeblendet, Einstellungen folgen
|
||||
*/
|
||||
public void settingsButtonClick() {
|
||||
/*Überschrift umbenennen*/
|
||||
headline.setText("EINSTELLUNGEN");
|
||||
|
||||
/*nicht verwendete Buttons/ Labels ausblenden, gebrauchte einblenden*/
|
||||
startButton.setVisible(false);
|
||||
highscoresButton.setVisible(false);
|
||||
settingsButton.setVisible(false);
|
||||
@ -433,11 +441,56 @@ public class HappyBirdMain extends Application {
|
||||
soundLabel.setVisible(true);
|
||||
}
|
||||
|
||||
/***
|
||||
* Hauptmenü wird ausgeblendet, Einstellungen folgen
|
||||
*/
|
||||
public void settingsButtonPauseClick() {
|
||||
/*Überschrift umbenennen*/
|
||||
pauseMenuLabel.setText("EINSTELLUNGEN");
|
||||
|
||||
/*alle Buttons ausblenden*/
|
||||
for(Button button : pauseButtons) {
|
||||
button.setVisible(false);
|
||||
}
|
||||
|
||||
/*gebrauchte Buttons einblenden und anpassen*/
|
||||
backButtonPause.setVisible(true);
|
||||
backButtonPause.setLayoutY(300);
|
||||
|
||||
/*soundSliderPause anpassen und einblenden*/
|
||||
soundSliderPause.setPrefSize(200, 5);
|
||||
soundSliderPause.setLayoutX(100);
|
||||
soundSliderPause.setLayoutY(150);
|
||||
soundSliderPause.setVisible(true);
|
||||
|
||||
/*soundLabelPause einblenden*/
|
||||
soundLabelPause.setVisible(true);
|
||||
|
||||
/*Click-Events*/
|
||||
backButtonPause.setOnAction(event -> {
|
||||
/*Überschrift umbenennen*/
|
||||
pauseMenuLabel.setText("PAUSE");
|
||||
|
||||
/*alle Buttons einblenden*/
|
||||
for(Button button : pauseButtons) {
|
||||
button.setVisible(true);
|
||||
}
|
||||
|
||||
/*nicht verwendete Buttons ausblenden*/
|
||||
backButtonPause.setVisible(false);
|
||||
soundSliderPause.setVisible(false);
|
||||
soundLabelPause.setVisible(false);
|
||||
});
|
||||
}
|
||||
|
||||
/***
|
||||
* Hauptmenü wird ausgeblendet, Highscores folgen
|
||||
*/
|
||||
public void highscoresButtonClick() {
|
||||
/*Überschrift umbenennen*/
|
||||
headline.setText("HIGHSCORES");
|
||||
|
||||
/*nicht verwendete Buttons ausblenden, verwendete einblenden*/
|
||||
startButton.setVisible(false);
|
||||
highscoresButton.setVisible(false);
|
||||
settingsButton.setVisible(false);
|
||||
@ -449,19 +502,28 @@ public class HappyBirdMain extends Application {
|
||||
* Erneutes Anzeigen des Hauptmenüs
|
||||
*/
|
||||
public void menuButtonClick() {
|
||||
/*Überschrift umbenennen*/
|
||||
headline.setText("HAPPY BIRD");
|
||||
|
||||
/*nicht verwendete Buttons ausblenden, verwendete einblenden*/
|
||||
startButton.setVisible(true);
|
||||
highscoresButton.setVisible(true);
|
||||
settingsButton.setVisible(true);
|
||||
menuButton.setVisible(false);
|
||||
soundSlider.setVisible(false);
|
||||
soundLabel.setVisible(false);
|
||||
startGameButton.setVisible(false);
|
||||
|
||||
/*soundSlider ausblenden*/
|
||||
soundSlider.setVisible(false);
|
||||
|
||||
/*soundLabel ausblenden*/
|
||||
//soundLabel.setVisible(false);
|
||||
|
||||
/*Textfelder ausblenden*/
|
||||
for(TextField feld : inputFields) {
|
||||
feld.setVisible(false);
|
||||
}
|
||||
|
||||
/*alle Labels ausblenden*/
|
||||
for (Label label : labels ) {
|
||||
label.setVisible(false);
|
||||
}
|
||||
@ -473,65 +535,113 @@ public class HappyBirdMain extends Application {
|
||||
public void startGameButtonClick() {
|
||||
generateGameScreen();
|
||||
|
||||
|
||||
/**Klick auf den Pause-Button, um das Pause-Menü aufzurufen*/
|
||||
/*Klick auf den Pause-Button, um das Pause-Menü aufzurufen*/
|
||||
pauseButton.setOnAction(event -> {
|
||||
//
|
||||
if(gameRuns) {
|
||||
gameRuns = false;
|
||||
} else {
|
||||
gameRuns = true;
|
||||
if(!menuScreenRunning) {
|
||||
pauseButtonClick(gameRunning);
|
||||
gameRunning = !gameRunning;
|
||||
}
|
||||
pauseButtonClick(gameRuns);
|
||||
});
|
||||
|
||||
/**ESC-Tast drücken, um das Pause-Menü aufzurufen*/
|
||||
/*ESC-Tast drücken, um das Pause-Menü aufzurufen*/
|
||||
scene.setOnKeyPressed(e -> {
|
||||
if(e.getCode() == KeyCode.ESCAPE) {
|
||||
if(gameRuns) {
|
||||
gameRuns = false;
|
||||
pauseButtonClick(false);
|
||||
} else {
|
||||
gameRuns = true;
|
||||
pauseButtonClick(true);
|
||||
}
|
||||
if(e.getCode() == KeyCode.ESCAPE && !menuScreenRunning) {
|
||||
pauseButtonClick(gameRunning);
|
||||
gameRunning = !gameRunning;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/***
|
||||
* Zurück zum Spiel aus dem PauseScreen heraus
|
||||
*/
|
||||
public void continueButtonClick() {
|
||||
/*pauseButton einblenden*/
|
||||
pauseButton.setVisible(true);
|
||||
|
||||
/*PauseScreen ausblenden*/
|
||||
pause.setVisible(false);
|
||||
|
||||
/*Vom PauseScreen entfernen*/
|
||||
pause.getChildren().clear();
|
||||
pane.getChildren().remove(pause);
|
||||
|
||||
/*gameRunning auf false setzen, da sonst 2x Click auf Pause-Button bzw. ESC*/
|
||||
gameRunning = false;
|
||||
}
|
||||
|
||||
/***
|
||||
* alles vom pane entfernen, da als nächstes zum Hauptmenü
|
||||
*/
|
||||
private void menuButtonPauseClick() {
|
||||
/*alles vom pauseScreen entfernen*/
|
||||
pause.getChildren().clear();
|
||||
|
||||
/*pause von pane entfernen*/
|
||||
pane.getChildren().clear();
|
||||
|
||||
/*gameRunning auf false, da zurück zum Hauptmenü*/
|
||||
gameRunning = false;
|
||||
}
|
||||
|
||||
/***
|
||||
* Ruft das Pause-Menü im Spiel auf oder blendet es wieder aus
|
||||
*/
|
||||
public void pauseButtonClick(Boolean gameRuns) {
|
||||
pauseScreenFormating();
|
||||
|
||||
/**PauseScreen aufrufen, wenn das Spiel läuft, sonst wieder ausblenden*/
|
||||
if(gameRuns) {
|
||||
/**PauseScreen ausblenden*/
|
||||
pause.setVisible(true);
|
||||
/*PauseScreen aufrufen, wenn das Spiel läuft, sonst wieder ausblenden*/
|
||||
if(!gameRuns) {
|
||||
pauseButton.setVisible(false);
|
||||
highscoresButton.setVisible(true);
|
||||
settingsButton.setVisible(true);
|
||||
highscoresButton.setLayoutX(100);
|
||||
settingsButton.setLayoutX(100);
|
||||
|
||||
/**Zum PauseScreen hinzufügen*/
|
||||
pause.getChildren().add(settingsButton);
|
||||
pause.getChildren().add(highscoresButton);
|
||||
/*PauseScreen einblenden*/
|
||||
pause.setVisible(true);
|
||||
|
||||
/*Buttons anpassen, zum pauseScreen hinzufügen und einblenden*/
|
||||
int yPosition = 100;
|
||||
for(Button button : pauseButtons) {
|
||||
button.setLayoutX(100);
|
||||
button.setLayoutY(yPosition);
|
||||
yPosition += 100;
|
||||
pause.getChildren().add(button);
|
||||
button.setVisible(true);
|
||||
}
|
||||
|
||||
/*backButtonPause vorerst ausblenden und zu pause hinzufügen*/
|
||||
backButtonPause.setVisible(false);
|
||||
pause.getChildren().add(pauseMenuLabel);
|
||||
|
||||
/*soundSliderPause vorerst ausblenden und zu pause hinzufügen*/
|
||||
soundSliderPause.setVisible(false);
|
||||
pause.getChildren().add(soundSliderPause);
|
||||
|
||||
/*soundLabelPause vorerst ausblenden und zu pause hinzufügen*/
|
||||
soundLabelPause.setVisible(false);
|
||||
pause.getChildren().add(soundLabelPause);
|
||||
|
||||
/*pause zu pane hinzufügen*/
|
||||
pane.getChildren().add(pause);
|
||||
|
||||
/*ClickEvents*/
|
||||
continueButton.setOnAction(event -> continueButtonClick());
|
||||
|
||||
menuButtonPause.setOnAction(event -> {
|
||||
menuButtonPauseClick();
|
||||
generateMenueScene();
|
||||
});
|
||||
|
||||
settingsButtonPause.setOnAction(event -> settingsButtonPauseClick());
|
||||
} else {
|
||||
/**PauseScreen aufrufen/ sichtbar machen*/
|
||||
/*pauseButton einblenden*/
|
||||
pauseButton.setVisible(true);
|
||||
|
||||
/*PauseScreen ausblenden*/
|
||||
pause.setVisible(false);
|
||||
|
||||
pauseButton.setVisible(true);
|
||||
highscoresButton.setVisible(false);
|
||||
settingsButton.setVisible(false);
|
||||
highscoresButton.setLayoutX(300);
|
||||
settingsButton.setLayoutX(300);
|
||||
/*alles vom PauseScreen entfernen*/
|
||||
pause.getChildren().clear();
|
||||
|
||||
/**Vom PauseScreen entfernen*/
|
||||
pause.getChildren().remove(settingsButton);
|
||||
pause.getChildren().remove(highscoresButton);
|
||||
/*pause von pane entfernen*/
|
||||
pane.getChildren().remove(pause);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user