ClickEvents Settings/Highscore + Screenoverlays

This commit is contained in:
Mats Pape 2021-11-25 14:11:46 +01:00
commit 090da1392b
9 changed files with 126 additions and 11 deletions

View File

@ -1,14 +1,22 @@
package com.example.happy_bird;
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.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.image.*;
import javafx.scene.image.Image;
import javafx.scene.layout.*;
import javafx.scene.paint.*;
import javafx.scene.text.TextAlignment;
import javafx.stage.Stage;
import java.awt.*;
import java.io.IOException;
public class HappyBirdMain extends Application {
@ -19,17 +27,13 @@ public class HappyBirdMain extends Application {
@Override
public void start(Stage stage) throws IOException {
/*FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("happyBird.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 800, 700);
stage.setTitle("HappyBird");
stage.setScene(scene);
stage.show();*/
Pane pane = new Pane();
StackPane stackPane = new StackPane();
Scene scene = new Scene(stackPane, 800, 700);
Scene scene = new Scene(pane, 800, 700);
stage.setTitle("Happy Bird");
stage.setScene(scene);
//Backgroundimage
Image image = new Image("file:src/main/resources/com/example/happy_bird/pics/Background.png");
BackgroundImage backgroundImageImg = new BackgroundImage(
image,
@ -40,8 +44,119 @@ public class HappyBirdMain extends Application {
);
Background background = new Background(backgroundImageImg);
stackPane.setBackground(background);
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;");
headline.setLayoutX(250);
headline.setLayoutY(100);
pane.getChildren().add(headline);
//Buttons:
Button startButton = new Button("START");
Button highscoresButton = new Button("HIGHSCORES");
Button settingsButton = new Button("EINSTELLUNGEN");
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);
menuButton.setLayoutX(300);
menuButton.setLayoutY(425);
menuButton.setVisible(false);
Button buttons[] = {startButton, highscoresButton, settingsButton};
int yPosition = 225;
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; " +
"-fx-font-size: 20px; " +
"-fx-border-width: 5px;" +
"-fx-border-color: #FFFFFF;" +
"-fx-font-weight: bold;" +
"-fx-border-radius: 15px;" +
"-fx-background-radius: 20px;");
}
//Slider:
Slider soundSlider = new Slider();
pane.getChildren().add(soundSlider);
soundSlider.setPrefSize(200, 5);
soundSlider.setLayoutX(300);
soundSlider.setLayoutY(295);
soundSlider.setVisible(false);
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);
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);
});
highscoresButton.setOnAction(event -> {
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);
});
stage.show();
}
}