aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAidan Ross <aross02@fairport.org>2023-05-23 08:53:56 -0400
committerAidan Ross <aross02@fairport.org>2023-05-23 08:53:56 -0400
commit57eed1a3ec2b16535c6d4365115c09366ec03240 (patch)
tree20535092dea5f18604a9784b70d94def1e860eff
parent1ec2cdd33df864b55cafe3326aadaf8e83cb0651 (diff)
downloadNPEhero-57eed1a3ec2b16535c6d4365115c09366ec03240.tar.gz
NPEhero-57eed1a3ec2b16535c6d4365115c09366ec03240.tar.bz2
NPEhero-57eed1a3ec2b16535c6d4365115c09366ec03240.zip
Finally i can code again, rewriting some lost animation code
-rw-r--r--.vscode/launch.json4
-rw-r--r--src/fallTest/newSongPlayer.java112
2 files changed, 101 insertions, 15 deletions
diff --git a/.vscode/launch.json b/.vscode/launch.json
index b76670f..f7b5436 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -10,7 +10,7 @@
"request": "launch",
"mainClass": "test.Table",
"projectName": "GuitarHero",
- "vmArgs": "--module-path lib/linux --add-modules javafx.base,javafx.media,javafx.graphics,javafx.controls,javafx.fxml"
+ "vmArgs": "--module-path lib/windows/lib --add-modules javafx.base,javafx.media,javafx.graphics,javafx.controls,javafx.fxml"
},
{
"type": "java",
@@ -74,7 +74,7 @@
"request": "launch",
"mainClass": "fallTest.Driver",
"projectName": "GuitarHero",
- "vmArgs": "--module-path lib/linux --add-modules javafx.base,javafx.media,javafx.graphics,javafx.controls,javafx.fxml"
+ "vmArgs": "--module-path lib/windows/lib --add-modules javafx.base,javafx.media,javafx.graphics,javafx.controls,javafx.fxml"
},
{
"type": "java",
diff --git a/src/fallTest/newSongPlayer.java b/src/fallTest/newSongPlayer.java
index 3f6d4ed..07028d2 100644
--- a/src/fallTest/newSongPlayer.java
+++ b/src/fallTest/newSongPlayer.java
@@ -28,27 +28,79 @@ import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
+import javafx.animation.*;
+import javafx.animation.KeyFrame;
+import javafx.util.*;
public class newSongPlayer extends Pane
{
- Timer time = new Timer();
-
- private double dLaneX = 0;
- TButton dButton = new TButton(Color.RED, 50, 50, 5);
+ Timer timer = new Timer();
+ final int TIME = 2000; //delay for notes falling down the screen
+
+ TranslateTransition anim = new TranslateTransition(Duration.millis(TIME));
+
+ Queue<NoteInfo> dSends = new LinkedList<NoteInfo>(); //Queue that dictates when to send the notes
+ ArrayList<Block> dLane = new ArrayList<Block>(); //Array list containing all the notes currently on the field
+
+ Queue<NoteInfo> fSends = new LinkedList<NoteInfo>();
+ ArrayList<Block> fLane = new ArrayList<Block>();
+
+ Queue<NoteInfo> spaceSends = new LinkedList<NoteInfo>();
+ ArrayList<Block> spaceLane = new ArrayList<Block>();
+
+ Queue<NoteInfo> jSends = new LinkedList<NoteInfo>();
+ ArrayList<Block> jLane = new ArrayList<Block>();
+
+ Queue<NoteInfo> kSends = new LinkedList<NoteInfo>();
+ ArrayList<Block> kLane = new ArrayList<Block>();
+
+ /**
+ * Establishes what the chart for the song is going to look like
+ */
+ public void loadSong() {
+ dSends.add(new NoteInfo(4000));
+ dSends.add(new NoteInfo(4333));
+ dSends.add(new NoteInfo(4666));
+ fSends.add(new NoteInfo(5000));
+ kSends.add(new NoteInfo(5500));
+ spaceSends.add(new NoteInfo(6000));
+ jSends.add(new NoteInfo(6000));
+ jSends.add(new NoteInfo(6250));
+ dSends.add(new NoteInfo(6500));
+ jSends.add(new NoteInfo(6750));
+ spaceSends.add(new NoteInfo(7000));
+ fSends.add(new NoteInfo(7500));
+ jSends.add(new NoteInfo(7750));
+ spaceSends.add(new NoteInfo(8000));
+ fSends.add(new NoteInfo(8500));
+ jSends.add(new NoteInfo(8500));
+ dSends.add(new NoteInfo(9000));
+ spaceSends.add(new NoteInfo(9000));
+ kSends.add(new NoteInfo(9000));
+ spaceSends.add(new NoteInfo(9500));
+
+ kSends.add(new NoteInfo(10000));
+ dSends.add(new NoteInfo(10000));
+ kSends.add(new NoteInfo(10333));
+ fSends.add(new NoteInfo(10333));
+ kSends.add(new NoteInfo(10666));
+ spaceSends.add(new NoteInfo(10666));
+ dSends.add(new NoteInfo(11000));
+ spaceSends.add(new NoteInfo(11000));
+ dSends.add(new NoteInfo(11333));
+ jSends.add(new NoteInfo(11333));
+ dSends.add(new NoteInfo(11666));
+ kSends.add(new NoteInfo(11666));
+ spaceSends.add(new NoteInfo(12000));
+ }
- public void init() {
- Queue<NoteInfo> dSends = new LinkedList<NoteInfo>(); //Queue that dictates when to send the notes
- ArrayList<Block> dLane = new ArrayList<Block>(); //Array list containing all the notes currently on the field
-
+ public void init() {
Rectangle field = new Rectangle(50, 50, new Color(0, 0, 0, 0.7));
field.heightProperty().bind(this.getScene().getWindow().heightProperty().multiply(0.95));
field.widthProperty().bind(this.getScene().getWindow().widthProperty().divide(2.7).add(50));
+
+ TButton dButton = new TButton(Color.RED, 50, 50, 5);
genButton(dButton);
- /*dButton.setOnKeyPressed(e -> {
- if (e.getCode() == KeyCode.D) {
- System.out.println("D");
- }
- });*/
TButton fButton = new TButton(Color.BLUE, 50, 50, 5);
genButton(fButton);
@@ -62,6 +114,23 @@ public class newSongPlayer extends Pane
TButton kButton = new TButton(Color.YELLOW, 50, 50, 5);
genButton(kButton);
+ this.getScene().setOnKeyPressed(e -> {
+ if (e.getCode() == KeyCode.D) {
+ System.out.println("D");
+ }
+ if (e.getCode() == KeyCode.F) {
+ System.out.println("F");
+ }
+ if (e.getCode() == KeyCode.SPACE) {
+ System.out.println("SPC");
+ }
+ if (e.getCode() == KeyCode.J) {
+ System.out.println("J");
+ }
+ if (e.getCode() == KeyCode.K) {
+ System.out.println("K");
+ }
+ });
HBox buttonBox = new HBox();
buttonBox.setStyle("-fx-padding: 0;" + "-fx-border-style: solid inside;"
@@ -96,10 +165,16 @@ public class newSongPlayer extends Pane
lane.get(lane.size()-1).arcHeightProperty().bind(this.getScene().getWindow().widthProperty().divide(50));
lane.get(lane.size()-1).arcWidthProperty().bind(this.getScene().getWindow().widthProperty().divide(50));
lane.get(lane.size()-1).setX(pos);
+ anim.setByY(this.getScene().getHeight());
+ anim.setCycleCount(1);
+ anim.setAutoReverse(false);
+ anim.setNode(lane.get(lane.size()-1));
+ anim.play();
System.out.println(pos);
super.getChildren().add(lane.get(lane.size()-1));
}
+
public void genButton(TButton button) {
button.heightProperty().bind(this.getScene().getWindow().widthProperty().divide(16));
button.widthProperty().bind(this.getScene().getWindow().widthProperty().divide(16));
@@ -107,4 +182,15 @@ public class newSongPlayer extends Pane
button.arcWidthProperty().bind(this.getScene().getWindow().widthProperty().divide(50));
button.strokeWidthProperty().bind(this.getScene().getWindow().widthProperty().divide(210));
}
+
+ AnimationTimer gameLoop = new AnimationTimer() {
+
+ @Override
+ public void handle(long arg0) {
+ if (dSends.peek().getTime() > timer.time()) {
+
+ }
+ }
+ };
+
}