ClickEvents Settings/Highscore + Screenoverlays
This commit is contained in:
commit
090da1392b
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.
@ -1,14 +1,22 @@
|
|||||||
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.fxml.FXMLLoader;
|
||||||
import javafx.geometry.Insets;
|
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.Label;
|
||||||
|
import javafx.scene.control.Slider;
|
||||||
import javafx.scene.image.*;
|
import javafx.scene.image.*;
|
||||||
|
import javafx.scene.image.Image;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.*;
|
||||||
import javafx.scene.paint.*;
|
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 {
|
||||||
@ -19,17 +27,13 @@ public class HappyBirdMain extends Application {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start(Stage stage) throws IOException {
|
public void start(Stage stage) throws IOException {
|
||||||
/*FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("happyBird.fxml"));
|
Pane pane = new Pane();
|
||||||
Scene scene = new Scene(fxmlLoader.load(), 800, 700);
|
|
||||||
stage.setTitle("HappyBird");
|
|
||||||
stage.setScene(scene);
|
|
||||||
stage.show();*/
|
|
||||||
|
|
||||||
StackPane stackPane = new StackPane();
|
Scene scene = new Scene(pane, 800, 700);
|
||||||
|
|
||||||
Scene scene = new Scene(stackPane, 800, 700);
|
|
||||||
stage.setTitle("Happy Bird");
|
stage.setTitle("Happy Bird");
|
||||||
stage.setScene(scene);
|
stage.setScene(scene);
|
||||||
|
|
||||||
|
//Backgroundimage
|
||||||
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");
|
||||||
BackgroundImage backgroundImageImg = new BackgroundImage(
|
BackgroundImage backgroundImageImg = new BackgroundImage(
|
||||||
image,
|
image,
|
||||||
@ -40,7 +44,118 @@ public class HappyBirdMain extends Application {
|
|||||||
);
|
);
|
||||||
|
|
||||||
Background background = new Background(backgroundImageImg);
|
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();
|
stage.show();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user