PauseScreen aufrufen
This commit is contained in:
parent
d51c97c989
commit
9c028dd79e
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.
2
Happy_Bird/.idea/.name
generated
2
Happy_Bird/.idea/.name
generated
@ -1 +1 @@
|
|||||||
HappyBird.java
|
HappyBirdMain.java
|
Binary file not shown.
Binary file not shown.
@ -7,13 +7,10 @@
|
|||||||
|
|
||||||
<StackPane prefHeight="800.0" prefWidth="700.0" xmlns="http://javafx.com/javafx/11.0.2" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.happy_bird.HappyBird" back >
|
<StackPane prefHeight="800.0" prefWidth="700.0" xmlns="http://javafx.com/javafx/11.0.2" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.happy_bird.HappyBird" back >
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
<ImageView>
|
<ImageView>
|
||||||
<image>
|
<image>
|
||||||
<Image url="@pics/Background.png"></Image>
|
<Image url="@pics/Background.png"></Image>
|
||||||
</image>
|
</image>
|
||||||
</ImageView>
|
</ImageView>
|
||||||
|
|
||||||
>>>>>>> 5db5b6bb195a2b7d1296e7d3f9b98d6c75dba2c2
|
|
||||||
</StackPane>
|
</StackPane>
|
||||||
|
Binary file not shown.
21
Happy_Bird/src/main/java/com/example/happy_bird/Bird.java
Normal file
21
Happy_Bird/src/main/java/com/example/happy_bird/Bird.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package com.example.happy_bird;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.image.ImageObserver;
|
||||||
|
|
||||||
|
public class Bird extends SpielObjekt {
|
||||||
|
|
||||||
|
public Bird(int xWert, int yWert) {
|
||||||
|
super(xWert, yWert);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tick() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(Graphics2D g, ImageObserver obs) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -1,11 +1,6 @@
|
|||||||
package com.example.happy_bird;
|
package com.example.happy_bird;
|
||||||
|
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.event.ActionEvent;
|
|
||||||
import javafx.event.EventHandler;
|
|
||||||
import javafx.fxml.FXMLLoader;
|
|
||||||
import javafx.geometry.Insets;
|
|
||||||
import javafx.geometry.Pos;
|
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
@ -13,11 +8,12 @@ import javafx.scene.control.TextField;
|
|||||||
import javafx.scene.control.Slider;
|
import javafx.scene.control.Slider;
|
||||||
import javafx.scene.image.*;
|
import javafx.scene.image.*;
|
||||||
import javafx.scene.image.Image;
|
import javafx.scene.image.Image;
|
||||||
|
import javafx.scene.input.KeyCode;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.*;
|
||||||
import javafx.scene.text.TextAlignment;
|
import javafx.scene.text.TextAlignment;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
import java.awt.*;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class HappyBirdMain extends Application {
|
public class HappyBirdMain extends Application {
|
||||||
@ -31,6 +27,7 @@ public class HappyBirdMain extends Application {
|
|||||||
private Label soundLabel = new Label("SOUND");
|
private Label soundLabel = new Label("SOUND");
|
||||||
private Label currentScoreLabel = new Label("SCORE");
|
private Label currentScoreLabel = new Label("SCORE");
|
||||||
private Label highscoreLabel = new Label("HIGHSCORE");
|
private Label highscoreLabel = new Label("HIGHSCORE");
|
||||||
|
private Label pauseMenu = new Label("Pause");
|
||||||
private Label labels[] = {nameLabel, acronymLabel, soundLabel, currentScoreLabel, highscoreLabel};
|
private Label labels[] = {nameLabel, acronymLabel, soundLabel, currentScoreLabel, highscoreLabel};
|
||||||
private Label headlineLabels[] = {headline};
|
private Label headlineLabels[] = {headline};
|
||||||
|
|
||||||
@ -39,8 +36,10 @@ public class HappyBirdMain extends Application {
|
|||||||
private Button settingsButton = new Button("EINSTELLUNGEN");
|
private Button settingsButton = new Button("EINSTELLUNGEN");
|
||||||
private Button startGameButton = new Button("SPIEL STARTEN");
|
private Button startGameButton = new Button("SPIEL STARTEN");
|
||||||
private Button menuButton = new Button("ZURÜCK");
|
private Button menuButton = new Button("ZURÜCK");
|
||||||
|
private Button pauseButton = new Button("PAUSE");
|
||||||
|
private Button continueButton = new Button("WEITERSPIELEN");
|
||||||
|
|
||||||
private Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton};
|
private Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton};
|
||||||
|
|
||||||
private TextField name = new TextField();
|
private TextField name = new TextField();
|
||||||
private TextField acronym = new TextField();
|
private TextField acronym = new TextField();
|
||||||
@ -54,6 +53,10 @@ public class HappyBirdMain extends Application {
|
|||||||
private Image upperPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeOben.png", 86, 300, false, false);
|
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);
|
private Image lowerPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeUnten.png", 86, 300, false, false);
|
||||||
|
|
||||||
|
private Pane pause = new Pane();
|
||||||
|
|
||||||
|
private boolean gameRuns;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
@ -66,6 +69,39 @@ public class HappyBirdMain extends Application {
|
|||||||
stage.setTitle("Happy Bird");
|
stage.setTitle("Happy Bird");
|
||||||
stage.setScene(scene);
|
stage.setScene(scene);
|
||||||
|
|
||||||
|
generateMenueScene();
|
||||||
|
|
||||||
|
gameRuns = false;
|
||||||
|
|
||||||
|
/**ClickEvents:*/
|
||||||
|
startButton.setOnAction(event -> {
|
||||||
|
startButtonClick();
|
||||||
|
});
|
||||||
|
|
||||||
|
settingsButton.setOnAction(event -> {
|
||||||
|
settingsButtonClick();
|
||||||
|
});
|
||||||
|
|
||||||
|
highscoresButton.setOnAction(event -> {
|
||||||
|
highscoresButtonClick();
|
||||||
|
});
|
||||||
|
|
||||||
|
menuButton.setOnAction(event -> {
|
||||||
|
menuButtonClick();
|
||||||
|
});
|
||||||
|
|
||||||
|
startGameButton.setOnAction(event -> {
|
||||||
|
gameRuns = true;
|
||||||
|
startGameButtonClick();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
stage.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void generateMenueScene() {
|
||||||
/**Bild für Hintergrund erstellen:*/
|
/**Bild für Hintergrund erstellen:*/
|
||||||
Image image = new Image("file:src/main/resources/com/example/happy_bird/pics/Background.png");
|
Image image = new Image("file:src/main/resources/com/example/happy_bird/pics/Background.png");
|
||||||
|
|
||||||
@ -85,6 +121,12 @@ public class HappyBirdMain extends Application {
|
|||||||
|
|
||||||
|
|
||||||
/**Labels erstellen:*/
|
/**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 in Arrays speichern:*/
|
||||||
@ -112,7 +154,11 @@ public class HappyBirdMain extends Application {
|
|||||||
|
|
||||||
|
|
||||||
/**Buttons erstellen:*/
|
/**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 in Array speichern:*/
|
||||||
|
|
||||||
@ -136,10 +182,14 @@ public class HappyBirdMain extends Application {
|
|||||||
/**startGameButton unsichtbar*/
|
/**startGameButton unsichtbar*/
|
||||||
startGameButton.setVisible(false);
|
startGameButton.setVisible(false);
|
||||||
|
|
||||||
|
/**continueButton unsichtbar*/
|
||||||
|
continueButton.setVisible(false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**Textfelder erstellen:*/
|
/**Textfelder erstellen:*/
|
||||||
|
//name = new TextField();
|
||||||
|
//acronym = new TextField();
|
||||||
|
|
||||||
/**Textfelder in Array speichern:*/
|
/**Textfelder in Array speichern:*/
|
||||||
|
|
||||||
@ -158,31 +208,71 @@ public class HappyBirdMain extends Application {
|
|||||||
|
|
||||||
|
|
||||||
/**SoundSlider erstellen:*/
|
/**SoundSlider erstellen:*/
|
||||||
|
//soundSlider = new Slider();
|
||||||
|
|
||||||
/**SoundSlicer anpassen:*/
|
/**SoundSlicer anpassen:*/
|
||||||
soundSliderFormating(soundSlider, pane);
|
soundSliderFormating(soundSlider, pane);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generiert den GameScreen durch Ausblenden und
|
||||||
|
* Sichtbarmachen der richtigen Buttons, Labels, ...
|
||||||
|
*/
|
||||||
|
public void generateGameScreen() {
|
||||||
|
/**Headline-Label umbenennen*/
|
||||||
|
nameLabel.setText("NAME: " + acronym.getText());
|
||||||
|
|
||||||
/**ClickEvents:*/
|
/**Textfelder ausblenden*/
|
||||||
startButton.setOnAction(event -> {
|
for(TextField feld : inputFields) {
|
||||||
startButtonClick();
|
feld.setVisible(false);
|
||||||
});
|
}
|
||||||
|
|
||||||
settingsButton.setOnAction(event -> {
|
/**Labels ausblenden*/
|
||||||
settingsButtonClick();
|
for (Label label : labels )
|
||||||
});
|
{
|
||||||
|
label.setVisible(false);
|
||||||
|
}
|
||||||
|
headline.setVisible(false);
|
||||||
|
|
||||||
highscoresButton.setOnAction(event -> {
|
/**nameLabel, currentScoreLabel und highscoreLabel positionieren und sichtbar machen*/
|
||||||
highscoresButtonClick();
|
nameLabel.setLayoutX(10);
|
||||||
});
|
nameLabel.setLayoutY(10);
|
||||||
|
nameLabel.setVisible(true);
|
||||||
|
|
||||||
menuButton.setOnAction(event -> {
|
currentScoreLabel.setLayoutX(540);
|
||||||
menuButtonClick();
|
currentScoreLabel.setLayoutY(10);
|
||||||
});
|
currentScoreLabel.setVisible(true);
|
||||||
|
|
||||||
stage.show();
|
highscoreLabel.setLayoutX(540);
|
||||||
|
highscoreLabel.setLayoutY(70);
|
||||||
|
highscoreLabel.setVisible(true);
|
||||||
|
|
||||||
|
/**Übrige Buttons ausblenden*/
|
||||||
|
startGameButton.setVisible(false);
|
||||||
|
menuButton.setVisible(false);
|
||||||
|
|
||||||
|
/**Pause-Button positionieren und sichtbar machen*/
|
||||||
|
pauseButton.setLayoutX(575);
|
||||||
|
pauseButton.setLayoutY(625);
|
||||||
|
pauseButton.setVisible(true);
|
||||||
|
|
||||||
|
/**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*/
|
||||||
|
ImageView upperPipeView = new ImageView(upperPipe);
|
||||||
|
pane.getChildren().add(upperPipeView);
|
||||||
|
upperPipeView.setLayoutX(400);
|
||||||
|
upperPipeView.setLayoutY(0);
|
||||||
|
|
||||||
|
ImageView lowerPipeView = new ImageView(lowerPipe);
|
||||||
|
pane.getChildren().add(lowerPipeView);
|
||||||
|
lowerPipeView.setLayoutX(400);
|
||||||
|
lowerPipeView.setLayoutY(430);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***
|
/***
|
||||||
@ -288,6 +378,20 @@ public class HappyBirdMain extends Application {
|
|||||||
slider.setVisible(false);
|
slider.setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* Formatiert den PauseScreen
|
||||||
|
*/
|
||||||
|
public void pauseScreenFormating() {
|
||||||
|
pause.setLayoutX(200);
|
||||||
|
pause.setLayoutY(100);
|
||||||
|
pause.setPrefSize(400, 500);
|
||||||
|
pause.setStyle("-fx-background-color: #DED894; " +
|
||||||
|
"-fx-border-width: 5px;" +
|
||||||
|
"-fx-border-color: #543847;" +
|
||||||
|
"-fx-border-radius: 15px;" +
|
||||||
|
"-fx-background-radius: 20px;");
|
||||||
|
}
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* Hauptmenü wird ausgeblendet, Nameneingabe folgt
|
* Hauptmenü wird ausgeblendet, Nameneingabe folgt
|
||||||
*/
|
*/
|
||||||
@ -367,40 +471,68 @@ public class HappyBirdMain extends Application {
|
|||||||
* Startet Spiel nach Namenseingabe
|
* Startet Spiel nach Namenseingabe
|
||||||
*/
|
*/
|
||||||
public void startGameButtonClick() {
|
public void startGameButtonClick() {
|
||||||
nameLabel.setText("NAME: " + acronym.getText());
|
generateGameScreen();
|
||||||
for(TextField feld : inputFields) {
|
|
||||||
feld.setVisible(false);
|
|
||||||
|
/**Klick auf den Pause-Button, um das Pause-Menü aufzurufen*/
|
||||||
|
pauseButton.setOnAction(event -> {
|
||||||
|
//
|
||||||
|
if(gameRuns) {
|
||||||
|
gameRuns = false;
|
||||||
|
} else {
|
||||||
|
gameRuns = true;
|
||||||
|
}
|
||||||
|
pauseButtonClick(gameRuns);
|
||||||
|
});
|
||||||
|
|
||||||
|
/**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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 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);
|
||||||
|
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);
|
||||||
|
pane.getChildren().add(pause);
|
||||||
|
} else {
|
||||||
|
/**PauseScreen aufrufen/ sichtbar machen*/
|
||||||
|
pause.setVisible(false);
|
||||||
|
|
||||||
|
pauseButton.setVisible(true);
|
||||||
|
highscoresButton.setVisible(false);
|
||||||
|
settingsButton.setVisible(false);
|
||||||
|
highscoresButton.setLayoutX(300);
|
||||||
|
settingsButton.setLayoutX(300);
|
||||||
|
|
||||||
|
/**Vom PauseScreen entfernen*/
|
||||||
|
pause.getChildren().remove(settingsButton);
|
||||||
|
pause.getChildren().remove(highscoresButton);
|
||||||
|
pane.getChildren().remove(pause);
|
||||||
}
|
}
|
||||||
for (Label label : labels )
|
|
||||||
{
|
|
||||||
label.setVisible(false);
|
|
||||||
}
|
|
||||||
startGameButton.setVisible(false);
|
|
||||||
menuButton.setVisible(false);
|
|
||||||
headline.setVisible(false);
|
|
||||||
ImageView birdView = new ImageView(bird);
|
|
||||||
pane.getChildren().add(birdView);
|
|
||||||
birdView.setLayoutY(325);
|
|
||||||
birdView.setLayoutX(50);
|
|
||||||
nameLabel.setLayoutX(10);
|
|
||||||
nameLabel.setLayoutY(10);
|
|
||||||
nameLabel.setVisible(true);
|
|
||||||
|
|
||||||
ImageView upperPipeView = new ImageView(upperPipe);
|
|
||||||
pane.getChildren().add(upperPipeView);
|
|
||||||
upperPipeView.setLayoutX(400);
|
|
||||||
upperPipeView.setLayoutY(0);
|
|
||||||
|
|
||||||
ImageView lowerPipeView = new ImageView(lowerPipe);
|
|
||||||
pane.getChildren().add(lowerPipeView);
|
|
||||||
lowerPipeView.setLayoutX(400);
|
|
||||||
lowerPipeView.setLayoutY(430);
|
|
||||||
|
|
||||||
currentScoreLabel.setLayoutX(540);
|
|
||||||
currentScoreLabel.setLayoutY(10);
|
|
||||||
currentScoreLabel.setVisible(true);
|
|
||||||
highscoreLabel.setLayoutX(540);
|
|
||||||
highscoreLabel.setLayoutY(70);
|
|
||||||
highscoreLabel.setVisible(true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,13 +7,10 @@
|
|||||||
|
|
||||||
<StackPane prefHeight="800.0" prefWidth="700.0" xmlns="http://javafx.com/javafx/11.0.2" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.happy_bird.HappyBird" back >
|
<StackPane prefHeight="800.0" prefWidth="700.0" xmlns="http://javafx.com/javafx/11.0.2" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.happy_bird.HappyBird" back >
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
<ImageView>
|
<ImageView>
|
||||||
<image>
|
<image>
|
||||||
<Image url="@pics/Background.png"></Image>
|
<Image url="@pics/Background.png"></Image>
|
||||||
</image>
|
</image>
|
||||||
</ImageView>
|
</ImageView>
|
||||||
|
|
||||||
>>>>>>> 5db5b6bb195a2b7d1296e7d3f9b98d6c75dba2c2
|
|
||||||
</StackPane>
|
</StackPane>
|
||||||
|
Loading…
Reference in New Issue
Block a user