Zusammenführung der Ergebnisse
This commit is contained in:
commit
75916d8876
@ -1,5 +1,9 @@
|
||||
package com.example.happy_bird;
|
||||
|
||||
public class HappyBird {
|
||||
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.TextField;
|
||||
|
||||
public class HappyBird extends HappyBirdMain {
|
||||
|
||||
}
|
||||
|
@ -22,20 +22,46 @@ import java.io.IOException;
|
||||
|
||||
public class HappyBirdMain extends Application {
|
||||
|
||||
private Pane pane = new Pane();
|
||||
private Scene scene = new Scene(pane, 800, 700);
|
||||
|
||||
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 labels[] = {nameLabel, acronymLabel, soundLabel};
|
||||
private Label headlineLabels[] = {headline};
|
||||
|
||||
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[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton};
|
||||
|
||||
private TextField name = new TextField();
|
||||
private TextField acronym = new TextField();
|
||||
|
||||
private TextField inputFields[] = {name, acronym};
|
||||
|
||||
private Slider soundSlider = new Slider();
|
||||
|
||||
public static void main(String[] args) {
|
||||
launch(args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start(Stage stage) throws IOException {
|
||||
Pane pane = new Pane();
|
||||
|
||||
Scene scene = new Scene(pane, 800, 700);
|
||||
stage.setTitle("Happy Bird");
|
||||
stage.setScene(scene);
|
||||
|
||||
//Backgroundimage
|
||||
Image backgroundImage = new Image("file:src/main/resources/com/example/happy_bird/pics/Background.png");
|
||||
/**Bild für Hintergrund erstellen:*/
|
||||
Image image = new Image("file:src/main/resources/com/example/happy_bird/pics/Background.png");
|
||||
|
||||
/**Hintergrund erstellen:*/
|
||||
BackgroundImage backgroundImageImg = new BackgroundImage(
|
||||
backgroundImage,
|
||||
BackgroundRepeat.NO_REPEAT,
|
||||
@ -44,6 +70,7 @@ public class HappyBirdMain extends Application {
|
||||
BackgroundSize.DEFAULT
|
||||
);
|
||||
|
||||
/**Hintergrund zu Pane hinzufügen:*/
|
||||
Image bird = new Image("file:src/main/resources/com/example/happy_bird/pics/bird.png", 50, 35, false, false);
|
||||
/*ImageView birdView = new ImageView();
|
||||
birdView.setFitHeight(50);
|
||||
@ -59,57 +86,117 @@ public class HappyBirdMain extends Application {
|
||||
Background background = new Background(backgroundImageImg);
|
||||
pane.setBackground(background);
|
||||
|
||||
//Headline-Label
|
||||
Label headline = new Label("Happy Bird");
|
||||
headline.setPrefSize(300, 75);
|
||||
headline.setTextAlignment(TextAlignment.CENTER);
|
||||
headline.setStyle("-fx-background-color: #DED894; " +
|
||||
"-fx-text-fill: #000000; " +
|
||||
"-fx-font-size: 35px; " +
|
||||
"-fx-border-width: 5px;" +
|
||||
"-fx-border-color: #543847;" +
|
||||
"-fx-font-weight: bold;" +
|
||||
"-fx-alignment: center;" +
|
||||
"-fx-background-radius: 20px;" +
|
||||
"-fx-border-radius: 15px;");
|
||||
|
||||
|
||||
/**Labels erstellen:*/
|
||||
|
||||
|
||||
/**Labels in Arrays speichern:*/
|
||||
|
||||
|
||||
/**Labels formatieren:*/
|
||||
labelsFormating(labels, pane);
|
||||
headlineFormating(headlineLabels, pane);
|
||||
|
||||
/**alle labels an ihre Stelle:*/
|
||||
int yPositionLabels = 225;
|
||||
for (Label label : labels) {
|
||||
label.setLayoutX(275);
|
||||
label.setLayoutY(yPositionLabels);
|
||||
yPositionLabels += 150;
|
||||
}
|
||||
|
||||
/**headline an ihre Stelle:*/
|
||||
headline.setLayoutX(250);
|
||||
headline.setLayoutY(100);
|
||||
|
||||
pane.getChildren().add(headline);
|
||||
/**soundLabel an seine Stelle:*/
|
||||
soundLabel.setLayoutY(225);
|
||||
|
||||
//Buttons:
|
||||
Button startButton = new Button("START");
|
||||
Button highscoresButton = new Button("HIGHSCORES");
|
||||
Button settingsButton = new Button("EINSTELLUNGEN");
|
||||
Button startGame = new Button("SPIEL STARTEN");
|
||||
|
||||
Button buttons[] = {startButton, highscoresButton, settingsButton, startGame};
|
||||
Button menuButton = new Button("ZURÜCK");
|
||||
menuButton.setStyle("-fx-background-color: #e86000; " +
|
||||
"-fx-text-fill: #FFFFFF; " +
|
||||
"-fx-font-size: 20px; " +
|
||||
"-fx-border-width: 5px;" +
|
||||
"-fx-border-color: #FFFFFF;" +
|
||||
"-fx-font-weight: bold;" +
|
||||
"-fx-border-radius: 15px;" +
|
||||
"-fx-background-radius: 20px;");
|
||||
pane.getChildren().add(menuButton);
|
||||
menuButton.setPrefSize(200, 50);
|
||||
|
||||
/**Buttons erstellen:*/
|
||||
|
||||
|
||||
/**Buttons in Array speichern:*/
|
||||
|
||||
|
||||
/**Buttons formatieren:*/
|
||||
buttonsFormating(buttons, pane);
|
||||
|
||||
/**alle Buttons an ihre Stelle:*/
|
||||
int yPositionButtons = 225;
|
||||
for (Button button : buttons) {
|
||||
button.setLayoutX(300);
|
||||
button.setLayoutY(yPositionButtons);
|
||||
yPositionButtons += 100;
|
||||
}
|
||||
|
||||
/**menuButton an seine Stelle und vorerst ausblenden:*/
|
||||
menuButton.setLayoutX(575);
|
||||
menuButton.setLayoutY(625);
|
||||
menuButton.setVisible(false);
|
||||
startGame.setVisible(false);
|
||||
|
||||
/**startGameButton unsichtbar*/
|
||||
startGameButton.setVisible(false);
|
||||
|
||||
|
||||
//Button buttons[] = {startButton, highscoresButton, settingsButton};
|
||||
|
||||
int yPosition = 225;
|
||||
/**Textfelder erstellen:*/
|
||||
|
||||
|
||||
/**Textfelder in Array speichern:*/
|
||||
|
||||
|
||||
/**Textfelder formatieren:*/
|
||||
textfieldsFormating(inputFields, pane);
|
||||
|
||||
/**Textfelder an ihre Position:*/
|
||||
int yPositionInputFields = 290;
|
||||
for (TextField feld : inputFields) {
|
||||
feld.setLayoutX(275);
|
||||
feld.setLayoutY(yPositionInputFields);
|
||||
yPositionInputFields += 150;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**SoundSlider erstellen:*/
|
||||
|
||||
|
||||
/**SoundSlicer anpassen:*/
|
||||
soundSliderFormating(soundSlider, pane);
|
||||
|
||||
|
||||
|
||||
/**ClickEvents:*/
|
||||
startButton.setOnAction(event -> {
|
||||
startButtonClick();
|
||||
});
|
||||
|
||||
settingsButton.setOnAction(event -> {
|
||||
settingsButtonClick();
|
||||
});
|
||||
|
||||
highscoresButton.setOnAction(event -> {
|
||||
highscoresButtonClick();
|
||||
});
|
||||
|
||||
menuButton.setOnAction(event -> {
|
||||
menuButtonClick();
|
||||
});
|
||||
|
||||
stage.show();
|
||||
}
|
||||
|
||||
/***
|
||||
* Formatiert alle Buttons und fügt sie der Pane hinzu
|
||||
* @param buttons ButtonArray mit allen Arrays
|
||||
* @param pane Pane, auf der die Buttons angezeigt werden
|
||||
*/
|
||||
public void buttonsFormating(Button[] buttons, Pane pane) {
|
||||
for (Button button : buttons) {
|
||||
pane.getChildren().add(button);
|
||||
button.setPrefSize(200, 50);
|
||||
button.setLayoutX(300);
|
||||
button.setLayoutY(yPosition);
|
||||
yPosition += 100;
|
||||
|
||||
button.setStyle("-fx-background-color: #e86000; " +
|
||||
"-fx-text-fill: #FFFFFF; " +
|
||||
@ -119,25 +206,20 @@ public class HappyBirdMain extends Application {
|
||||
"-fx-font-weight: bold;" +
|
||||
"-fx-border-radius: 15px;" +
|
||||
"-fx-background-radius: 20px;");
|
||||
|
||||
pane.getChildren().add(button);
|
||||
}
|
||||
}
|
||||
|
||||
startGame.setVisible(false);
|
||||
|
||||
Label nameLabel = new Label("Name:");
|
||||
Label acronymLabel = new Label("Kürzel:");
|
||||
|
||||
Label startLabels[] = {nameLabel, acronymLabel};
|
||||
startButton.setOnAction(event -> {
|
||||
headline.setText("Start");
|
||||
for (Button button : buttons) {
|
||||
button.setVisible(false);
|
||||
menuButton.setVisible(true);
|
||||
}
|
||||
});
|
||||
|
||||
int yPositionStartLabels = 225;
|
||||
for (Label label : startLabels) {
|
||||
/***
|
||||
* Formatiert alle kleinen Labels (keine Überschrift) und fügt sie der Pane hinzu
|
||||
* @param labels LabelArray mit allen Labels
|
||||
* @param pane Pane, auf der die Labels angezeigt werden
|
||||
*/
|
||||
public void labelsFormating(Label[] labels, Pane pane) {
|
||||
for (Label label : labels) {
|
||||
label.setPrefSize(250, 50);
|
||||
|
||||
label.setStyle("-fx-background-color: #DED894; " +
|
||||
"-fx-text-fill: #000000; " +
|
||||
"-fx-font-size: 20px; " +
|
||||
@ -148,55 +230,73 @@ public class HappyBirdMain extends Application {
|
||||
"-fx-background-radius: 20px;" +
|
||||
"-fx-border-radius: 15px;");
|
||||
|
||||
label.setLayoutX(275);
|
||||
label.setLayoutY(yPositionStartLabels);
|
||||
yPositionStartLabels += 150;
|
||||
|
||||
pane.getChildren().add(label);
|
||||
|
||||
label.setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
TextField name = new TextField();
|
||||
TextField acronym = new TextField();
|
||||
/***
|
||||
* Formatiert alle Überschriften-Labels und fügt sie der Pane hinzu
|
||||
* @param labels LabelArray mit Überschriften-Labels
|
||||
* @param pane Pane, auf der die Labels angezeigt werden
|
||||
*/
|
||||
public void headlineFormating(Label[] labels, Pane pane) {
|
||||
for (Label label : labels) {
|
||||
label.setPrefSize(300, 75);
|
||||
label.setTextAlignment(TextAlignment.CENTER);
|
||||
|
||||
TextField inputFields[] = {name, acronym};
|
||||
label.setStyle("-fx-background-color: #DED894; " +
|
||||
"-fx-text-fill: #000000; " +
|
||||
"-fx-font-size: 35px; " +
|
||||
"-fx-border-width: 5px;" +
|
||||
"-fx-border-color: #543847;" +
|
||||
"-fx-font-weight: bold;" +
|
||||
"-fx-alignment: center;" +
|
||||
"-fx-background-radius: 20px;" +
|
||||
"-fx-border-radius: 15px;");
|
||||
|
||||
int yPositionInputFields = 290;
|
||||
for (TextField feld : inputFields) {
|
||||
feld.setPrefSize(250, 50);
|
||||
feld.setStyle("-fx-font-size: 20px;" +
|
||||
pane.getChildren().add(label);
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* Formatiert alle Textfelder und fügt sie der Pane hinzu
|
||||
* @param textfields TextFieldArray mit allen Textfeldern
|
||||
* @param pane Pane, auf der die Textfelder angezeigt werden
|
||||
*/
|
||||
public void textfieldsFormating(TextField[] textfields, Pane pane) {
|
||||
for (TextField field : textfields) {
|
||||
field.setPrefSize(250, 50);
|
||||
field.setStyle("-fx-font-size: 20px;" +
|
||||
"-fx-font-weight: bold;");
|
||||
|
||||
feld.setLayoutX(275);
|
||||
feld.setLayoutY(yPositionInputFields);
|
||||
yPositionInputFields += 150;
|
||||
pane.getChildren().add(field);
|
||||
|
||||
pane.getChildren().add(feld);
|
||||
feld.setVisible(false);
|
||||
field.setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* Formatiert den soundSlider und fügt ihn der Pane hinzu
|
||||
* @param slider SoundSlider
|
||||
* @param pane Pane, auf der der Slider angezeigt wird
|
||||
*/
|
||||
public void soundSliderFormating(Slider slider, Pane pane) {
|
||||
slider.setPrefSize(200, 5);
|
||||
slider.setLayoutX(300);
|
||||
slider.setLayoutY(295);
|
||||
|
||||
startButton.setOnAction(event -> {
|
||||
headline.setText("Start");
|
||||
for(Button button : buttons) {
|
||||
button.setVisible(false);
|
||||
|
||||
}
|
||||
|
||||
startGame.setVisible(true);
|
||||
menuButton.setVisible(true);
|
||||
startGame.setLayoutY(520);
|
||||
|
||||
for(TextField feld : inputFields) {
|
||||
feld.setVisible(true);
|
||||
}
|
||||
for (Label label : startLabels )
|
||||
{
|
||||
label.setVisible(true);
|
||||
}
|
||||
});
|
||||
pane.getChildren().add(slider);
|
||||
|
||||
slider.setVisible(false);
|
||||
}
|
||||
|
||||
/***
|
||||
* Hauptmenü wird ausgeblendet, Nameneingabe folgt
|
||||
*/
|
||||
public void startButtonClick() {
|
||||
headline.setText("START");
|
||||
startGame.setOnAction(event -> {
|
||||
for(TextField feld : inputFields) {
|
||||
feld.setVisible(false);
|
||||
@ -224,70 +324,69 @@ public class HappyBirdMain extends Application {
|
||||
lowerPipeView.setLayoutY(430);
|
||||
});
|
||||
|
||||
for(Button button : buttons) {
|
||||
button.setVisible(false);
|
||||
|
||||
}
|
||||
|
||||
//Slider:
|
||||
Slider soundSlider = new Slider();
|
||||
pane.getChildren().add(soundSlider);
|
||||
soundSlider.setPrefSize(200, 5);
|
||||
soundSlider.setLayoutX(300);
|
||||
soundSlider.setLayoutY(295);
|
||||
soundSlider.setVisible(false);
|
||||
startGameButton.setVisible(true);
|
||||
menuButton.setVisible(true);
|
||||
startGameButton.setLayoutY(520);
|
||||
|
||||
Label soundLabel = new Label("SOUND");
|
||||
soundLabel.setPrefSize(200, 55);
|
||||
soundLabel.setTextAlignment(TextAlignment.CENTER);
|
||||
soundLabel.setStyle("-fx-background-color: #DED894; " +
|
||||
"-fx-text-fill: #000000; " +
|
||||
"-fx-font-size: 20px; " +
|
||||
"-fx-border-width: 5px;" +
|
||||
"-fx-border-color: #543847;" +
|
||||
"-fx-font-weight: bold;" +
|
||||
"-fx-alignment: center;" +
|
||||
"-fx-background-radius: 20px;" +
|
||||
"-fx-border-radius: 15px;");
|
||||
soundLabel.setLayoutX(300);
|
||||
soundLabel.setLayoutY(225);
|
||||
for(TextField feld : inputFields) {
|
||||
feld.setVisible(true);
|
||||
}
|
||||
for (Label label : labels ) {
|
||||
label.setVisible(true);
|
||||
}
|
||||
|
||||
pane.getChildren().add(soundLabel);
|
||||
soundLabel.setVisible(false);
|
||||
}
|
||||
|
||||
settingsButton.setOnAction(event -> {
|
||||
headline.setText("EINSTELLUNGEN");
|
||||
startButton.setVisible(false);
|
||||
highscoresButton.setVisible(false);
|
||||
settingsButton.setVisible(false);
|
||||
menuButton.setVisible(true);
|
||||
soundSlider.setVisible(true);
|
||||
soundLabel.setVisible(true);
|
||||
});
|
||||
/***
|
||||
* Hauptmenü wird ausgeblendet, Einstellungen folgen
|
||||
*/
|
||||
public void settingsButtonClick() {
|
||||
headline.setText("EINSTELLUNGEN");
|
||||
startButton.setVisible(false);
|
||||
highscoresButton.setVisible(false);
|
||||
settingsButton.setVisible(false);
|
||||
menuButton.setVisible(true);
|
||||
soundSlider.setVisible(true);
|
||||
soundLabel.setVisible(true);
|
||||
}
|
||||
|
||||
highscoresButton.setOnAction(event -> {
|
||||
headline.setText("HIGHSCORES");
|
||||
startButton.setVisible(false);
|
||||
highscoresButton.setVisible(false);
|
||||
settingsButton.setVisible(false);
|
||||
menuButton.setVisible(true);
|
||||
});
|
||||
/***
|
||||
* Hauptmenü wird ausgeblendet, Highscores folgen
|
||||
*/
|
||||
public void highscoresButtonClick() {
|
||||
headline.setText("HIGHSCORES");
|
||||
startButton.setVisible(false);
|
||||
highscoresButton.setVisible(false);
|
||||
settingsButton.setVisible(false);
|
||||
menuButton.setVisible(true);
|
||||
}
|
||||
|
||||
menuButton.setOnAction(event -> {
|
||||
headline.setText("HAPPY BIRD");
|
||||
startButton.setVisible(true);
|
||||
highscoresButton.setVisible(true);
|
||||
settingsButton.setVisible(true);
|
||||
menuButton.setVisible(false);
|
||||
soundSlider.setVisible(false);
|
||||
soundLabel.setVisible(false);
|
||||
startGame.setVisible(false);
|
||||
for(TextField feld : inputFields) {
|
||||
feld.setVisible(false);
|
||||
}
|
||||
for (Label label : startLabels )
|
||||
{
|
||||
label.setVisible(false);
|
||||
}
|
||||
});
|
||||
/***
|
||||
* Nameneingabe, Einstellungen und Highscores werden ausgeblendet
|
||||
* Erneutes Anzeigen des Hauptmenüs
|
||||
*/
|
||||
public void menuButtonClick() {
|
||||
headline.setText("HAPPY BIRD");
|
||||
startButton.setVisible(true);
|
||||
highscoresButton.setVisible(true);
|
||||
settingsButton.setVisible(true);
|
||||
menuButton.setVisible(false);
|
||||
soundSlider.setVisible(false);
|
||||
soundLabel.setVisible(false);
|
||||
startGameButton.setVisible(false);
|
||||
|
||||
stage.show();
|
||||
for(TextField feld : inputFields) {
|
||||
feld.setVisible(false);
|
||||
}
|
||||
|
||||
for (Label label : labels ) {
|
||||
label.setVisible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user