aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2023-05-14 17:34:40 -0400
committersowgro <tpoke.ferrari@gmail.com>2023-05-14 17:34:40 -0400
commit4a1f4a98116b5c59efe0606375b833a722a0d281 (patch)
treef993765d0022da440199fb109633b0e0113082eb /src
parent6e2ff44c33226e6d03810ae5fae9645605d3e89d (diff)
downloadNPEhero-4a1f4a98116b5c59efe0606375b833a722a0d281.tar.gz
NPEhero-4a1f4a98116b5c59efe0606375b833a722a0d281.tar.bz2
NPEhero-4a1f4a98116b5c59efe0606375b833a722a0d281.zip
add levelselector gui, move some files around
Diffstat (limited to 'src')
-rw-r--r--src/assets/levels/test level/background.pngbin0 -> 1009759 bytes
-rw-r--r--src/assets/levels/test level/metadata.json0
-rw-r--r--src/assets/levels/test level/notes_easy.txt0
-rw-r--r--src/assets/levels/test level/notes_hard.txt0
-rw-r--r--src/assets/levels/test level/notes_medium.txt0
-rw-r--r--src/assets/levels/test level/preview.pngbin0 -> 9072089 bytes
-rw-r--r--src/gui/LevelDetails.java71
-rw-r--r--src/gui/LevelSelector.java49
-rw-r--r--src/gui/style.css4
-rw-r--r--src/main/Level.java25
-rw-r--r--src/main/LevelController.java1
-rw-r--r--src/main/SettingsController.java7
-rw-r--r--src/test/JFXaudioPlayer.java (renamed from src/main/JFXaudioPlayer.java)2
-rw-r--r--src/test/KeyDetection.java (renamed from src/main/KeyDetection.java)2
-rw-r--r--src/test/NoteTest.java (renamed from src/main/NoteTest.java)2
-rw-r--r--src/test/SongPlayer.java (renamed from src/main/SongPlayer.java)2
-rw-r--r--src/test/focusTest.java (renamed from src/main/focusTest.java)2
17 files changed, 129 insertions, 38 deletions
diff --git a/src/assets/levels/test level/background.png b/src/assets/levels/test level/background.png
new file mode 100644
index 0000000..0113819
--- /dev/null
+++ b/src/assets/levels/test level/background.png
Binary files differ
diff --git a/src/assets/levels/test level/metadata.json b/src/assets/levels/test level/metadata.json
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/assets/levels/test level/metadata.json
diff --git a/src/assets/levels/test level/notes_easy.txt b/src/assets/levels/test level/notes_easy.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/assets/levels/test level/notes_easy.txt
diff --git a/src/assets/levels/test level/notes_hard.txt b/src/assets/levels/test level/notes_hard.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/assets/levels/test level/notes_hard.txt
diff --git a/src/assets/levels/test level/notes_medium.txt b/src/assets/levels/test level/notes_medium.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/assets/levels/test level/notes_medium.txt
diff --git a/src/assets/levels/test level/preview.png b/src/assets/levels/test level/preview.png
new file mode 100644
index 0000000..002ad9e
--- /dev/null
+++ b/src/assets/levels/test level/preview.png
Binary files differ
diff --git a/src/gui/LevelDetails.java b/src/gui/LevelDetails.java
new file mode 100644
index 0000000..dee2f00
--- /dev/null
+++ b/src/gui/LevelDetails.java
@@ -0,0 +1,71 @@
+package gui;
+
+import javafx.geometry.Pos;
+import javafx.scene.control.Button;
+import javafx.scene.control.ListView;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.layout.Pane;
+import javafx.scene.layout.VBox;
+import javafx.scene.paint.Color;
+import javafx.scene.text.Font;
+import javafx.scene.text.Text;
+import javafx.scene.text.TextAlignment;
+
+public class LevelDetails extends VBox
+{
+ public LevelDetails(ListView<String> list)
+ {
+ VBox details = new VBox();
+ details.minWidthProperty().bind(super.widthProperty());
+ details.minHeightProperty().bind(super.heightProperty().multiply(0.75));
+ details.maxWidthProperty().bind(super.widthProperty());
+ details.maxHeightProperty().bind(super.heightProperty().multiply(0.75));
+ details.getStyleClass().add("textBox");
+
+ Button play = new Button();
+ play.setText("Play");
+
+ if (list.getSelectionModel().getSelectedItem() == null)
+ {
+ Text desc = new Text();
+ desc.setText("Select a level from the left pane");
+ desc.setFill(Color.WHITE);
+ desc.wrappingWidthProperty().bind(super.widthProperty());
+ desc.setTextAlignment(TextAlignment.CENTER);
+ details.setAlignment(Pos.CENTER);
+ details.getChildren().addAll(desc);
+ play.setDisable(true);
+ }
+
+ else
+ {
+ Text title = new Text();
+ title.setText("Test level 1");
+ title.setFill(Color.WHITE);
+ title.setFont(new Font(50));
+ title.wrappingWidthProperty().bind(super.widthProperty());
+
+ Text desc = new Text();
+ desc.setText("long description with lots of words. what we write does not actually need to be long i just wan t make sure it can word wrap");
+ desc.setFill(Color.WHITE);
+ desc.wrappingWidthProperty().bind(super.widthProperty());
+
+ ImageView previewView = new ImageView();
+ Image preview = new Image("assets/pico.png");
+ previewView.setImage(preview);
+ //previewView.setFitHeight(100);
+ previewView.fitWidthProperty().bind(super.widthProperty().multiply(0.5));
+ previewView.setPreserveRatio(true);
+ details.getChildren().addAll(title,desc,previewView);
+ }
+
+ VBox rightBox = new VBox();
+ rightBox.setAlignment(Pos.CENTER_RIGHT);
+ rightBox.setSpacing(10);
+ rightBox.getChildren().addAll(details,play);
+
+ super.setAlignment(Pos.CENTER_RIGHT);
+ super.getChildren().add(rightBox);
+ }
+}
diff --git a/src/gui/LevelSelector.java b/src/gui/LevelSelector.java
index e0ad663..5600b07 100644
--- a/src/gui/LevelSelector.java
+++ b/src/gui/LevelSelector.java
@@ -33,39 +33,9 @@ public class LevelSelector extends Pane
leftBox.setSpacing(10);
leftBox.getChildren().addAll(levels,exit);
- Text title = new Text();
- title.setText("Test level 1");
- title.setFill(Color.WHITE);
- title.setFont(new Font(50));
- title.wrappingWidthProperty().bind(super.widthProperty().multiply(0.37));
+ Pane rightBox = new Pane();
+ addDetails(rightBox, levels);
- Text desc = new Text();
- desc.setText("long description with lots of words. what we write does not actually need to be long i just wan t make sure it can word wrap");
- desc.setFill(Color.WHITE);
- desc.wrappingWidthProperty().bind(super.widthProperty().multiply(0.37));
-
- ImageView previewView = new ImageView();
- Image preview = new Image("assets/pico.png");
- previewView.setImage(preview);
- //previewView.setFitHeight(100);
- previewView.fitWidthProperty().bind(super.widthProperty().multiply(0.25));
- previewView.setPreserveRatio(true);
-
- VBox details = new VBox();
- details.minWidthProperty().bind(super.widthProperty().multiply(0.37));
- details.minHeightProperty().bind(super.heightProperty().multiply(0.75));
- details.maxWidthProperty().bind(super.widthProperty().multiply(0.37));
- details.maxHeightProperty().bind(super.heightProperty().multiply(0.75));
- details.getStyleClass().add("textBox");
- details.getChildren().addAll(title,desc,previewView);
-
- Button play = new Button();
- play.setText("Play");
-
- VBox rightBox = new VBox();
- rightBox.setAlignment(Pos.CENTER_RIGHT);
- rightBox.setSpacing(10);
- rightBox.getChildren().addAll(details,play);
HBox rootBox = new HBox();
rootBox.minWidthProperty().bind(super.widthProperty());
@@ -74,7 +44,22 @@ public class LevelSelector extends Pane
rootBox.setAlignment(Pos.CENTER);
rootBox.setSpacing(10);
+ levels.setOnMouseClicked(e -> addDetails(rightBox, levels));
super.getChildren().add(rootBox);
}
+ private void addDetails(Pane rightBox, ListView<String> levels)
+ {
+ VBox details = new LevelDetails(levels);
+ if (! rightBox.getChildren().isEmpty())
+ {
+ rightBox.getChildren().remove(0);
+ }
+ rightBox.getChildren().add(details);
+ details.minWidthProperty().bind(super.widthProperty().multiply(0.37));
+ details.minHeightProperty().bind(super.heightProperty());
+ details.maxWidthProperty().bind(super.widthProperty().multiply(0.37));
+ details.maxHeightProperty().bind(super.heightProperty());
+ }
+
}
diff --git a/src/gui/style.css b/src/gui/style.css
index 7ca76be..16db327 100644
--- a/src/gui/style.css
+++ b/src/gui/style.css
@@ -82,8 +82,10 @@ Slider:focused .thumb{
-fx-border-color: rgb(231, 231, 231);
}
+/* text box */
+
.textBox {
-fx-background-radius: 5;
-fx-background-color: rgba(0, 0, 0, 0.5);
-fx-text-fill: white;
-}
+} \ No newline at end of file
diff --git a/src/main/Level.java b/src/main/Level.java
new file mode 100644
index 0000000..52047fd
--- /dev/null
+++ b/src/main/Level.java
@@ -0,0 +1,25 @@
+package main;
+
+import java.io.File;
+import java.util.ArrayList;
+
+import javafx.scene.image.Image;
+import javafx.scene.paint.Color;
+
+public class Level
+{
+ private Color[] colors;
+ private Image background;
+ private Image preview;
+ private String text;
+ private String desc;
+ //private ArrayList<String>();
+
+ //google "varargs" to see how this works
+ public void setColors(Color... newColors)
+ {
+ colors = newColors;
+ }
+
+ //INCOMPLETE
+}
diff --git a/src/main/LevelController.java b/src/main/LevelController.java
new file mode 100644
index 0000000..daf7ae3
--- /dev/null
+++ b/src/main/LevelController.java
@@ -0,0 +1 @@
+//coming soon \ No newline at end of file
diff --git a/src/main/SettingsController.java b/src/main/SettingsController.java
new file mode 100644
index 0000000..79fb560
--- /dev/null
+++ b/src/main/SettingsController.java
@@ -0,0 +1,7 @@
+// coming soon
+// needs to have getters and setters for:
+// - sfx vol
+// - music vol
+// - full screen
+//
+// perhaps use public variables instead of getters and setters \ No newline at end of file
diff --git a/src/main/JFXaudioPlayer.java b/src/test/JFXaudioPlayer.java
index 9207c59..2f12e20 100644
--- a/src/main/JFXaudioPlayer.java
+++ b/src/test/JFXaudioPlayer.java
@@ -1,4 +1,4 @@
-package main;
+package test;
import java.io.File;
import java.io.IOException;
diff --git a/src/main/KeyDetection.java b/src/test/KeyDetection.java
index 7887405..447b101 100644
--- a/src/main/KeyDetection.java
+++ b/src/test/KeyDetection.java
@@ -4,7 +4,7 @@
*Teacher:
*Description:
*/
-package main;
+package test;
import javax.swing.*;
import java.awt.event.ActionEvent;
diff --git a/src/main/NoteTest.java b/src/test/NoteTest.java
index 34d9c8c..ce74d56 100644
--- a/src/main/NoteTest.java
+++ b/src/test/NoteTest.java
@@ -4,7 +4,7 @@
*Teacher:
*Description:
*/
-package main;
+package test;
import java.awt.*;
public class NoteTest
diff --git a/src/main/SongPlayer.java b/src/test/SongPlayer.java
index caf1ab7..48f859d 100644
--- a/src/main/SongPlayer.java
+++ b/src/test/SongPlayer.java
@@ -4,7 +4,7 @@
*Teacher:
*Description:
*/
-package main;
+package test;
import java.awt.*;
import java.awt.event.*;
diff --git a/src/main/focusTest.java b/src/test/focusTest.java
index 28e61a3..bc337da 100644
--- a/src/main/focusTest.java
+++ b/src/test/focusTest.java
@@ -1,4 +1,4 @@
-package main;
+package test;
import javafx.application.Application;
import javafx.geometry.Pos;