aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAidan Ross <aross02@fairport.org>2023-06-03 01:02:44 -0400
committerAidan Ross <aross02@fairport.org>2023-06-03 01:02:44 -0400
commit5675911ad9f0e250c9851ef12c5b01ee37394ce0 (patch)
tree96c69cf340e2f4e1825d56fb945fbb6cf0a5daf9
parent4c920e9a2166f5343574467c147232093885a772 (diff)
downloadNPEhero-5675911ad9f0e250c9851ef12c5b01ee37394ce0.tar.gz
NPEhero-5675911ad9f0e250c9851ef12c5b01ee37394ce0.tar.bz2
NPEhero-5675911ad9f0e250c9851ef12c5b01ee37394ce0.zip
Added some menuing sounds and made the hitsounds less obnoxious
-rw-r--r--levels/testLevel/hard/metadata.json2
-rw-r--r--levels/testLevel/medium/metadata.json2
-rw-r--r--src/assets/Hitsound.wavbin25444 -> 34820 bytes
-rw-r--r--src/assets/MenuBackward.wavbin0 -> 34684 bytes
-rw-r--r--src/assets/MenuForward.wavbin0 -> 54992 bytes
-rw-r--r--src/assets/Miss.wavbin96264 -> 44144 bytes
-rw-r--r--src/gameplay/SongPlayer.java13
-rw-r--r--src/gui/Driver.java4
-rw-r--r--src/gui/GameOver.java11
-rw-r--r--src/gui/Leaderboard.java5
-rw-r--r--src/gui/LevelDetails.java10
-rw-r--r--src/gui/LevelSelector.java4
-rw-r--r--src/gui/LevelSurround.java7
-rw-r--r--src/gui/MainMenu.java12
-rw-r--r--src/gui/Settings.java20
15 files changed, 62 insertions, 28 deletions
diff --git a/levels/testLevel/hard/metadata.json b/levels/testLevel/hard/metadata.json
index 6e081fc..7776a02 100644
--- a/levels/testLevel/hard/metadata.json
+++ b/levels/testLevel/hard/metadata.json
@@ -1 +1 @@
-{"numBeats":0,"title":"Hard","bpm":0} \ No newline at end of file
+{"numBeats":15,"title":"Hard","bpm":60} \ No newline at end of file
diff --git a/levels/testLevel/medium/metadata.json b/levels/testLevel/medium/metadata.json
index 530398b..1622b89 100644
--- a/levels/testLevel/medium/metadata.json
+++ b/levels/testLevel/medium/metadata.json
@@ -1 +1 @@
-{"numBeats":0,"title":"Medium","bpm":0} \ No newline at end of file
+{"numBeats":6,"title":"Medium","bpm":60} \ No newline at end of file
diff --git a/src/assets/Hitsound.wav b/src/assets/Hitsound.wav
index 8ea8cad..3dd280d 100644
--- a/src/assets/Hitsound.wav
+++ b/src/assets/Hitsound.wav
Binary files differ
diff --git a/src/assets/MenuBackward.wav b/src/assets/MenuBackward.wav
new file mode 100644
index 0000000..e88f58d
--- /dev/null
+++ b/src/assets/MenuBackward.wav
Binary files differ
diff --git a/src/assets/MenuForward.wav b/src/assets/MenuForward.wav
new file mode 100644
index 0000000..c7b1a77
--- /dev/null
+++ b/src/assets/MenuForward.wav
Binary files differ
diff --git a/src/assets/Miss.wav b/src/assets/Miss.wav
index 11f71ce..d91a987 100644
--- a/src/assets/Miss.wav
+++ b/src/assets/Miss.wav
Binary files differ
diff --git a/src/gameplay/SongPlayer.java b/src/gameplay/SongPlayer.java
index 983ba9c..ccd34ea 100644
--- a/src/gameplay/SongPlayer.java
+++ b/src/gameplay/SongPlayer.java
@@ -199,7 +199,7 @@ public class SongPlayer extends Pane {
*/
public void sendNote(Queue<NoteInfo> sends, ArrayList<Block> lane, TButton button) {
if (sends.peek() != null && timer.time() > sends.peek().getTime()-(1000*(bpm/60000.0))) {
- TranslateTransition anim = new TranslateTransition(Duration.millis(TIME+70));
+ TranslateTransition anim = new TranslateTransition(Duration.millis(TIME+60));
lane.add(new Block(button.getColor(), 50, 50, 5));
int index = lane.size() - 1;
@@ -255,12 +255,8 @@ public class SongPlayer extends Pane {
sendNote(jSends, jLane, jButton);
sendNote(kSends, kLane, kButton);
if (timer.time() > songLength) {
- try {
- gui.Driver.setMenu(new GameOver(level, difficulty, pane, scoreCounter.getScore()));
- cancel();
- } catch (UnsupportedAudioFileException | IOException | LineUnavailableException e) {
- e.printStackTrace();
- }
+ gui.Driver.setMenu(new GameOver(level, difficulty, pane, scoreCounter.getScore()));
+ cancel();
}
if (timer.time() > 0.0) {
gui.Driver.mediaPlayer.play();
@@ -280,11 +276,12 @@ public class SongPlayer extends Pane {
* @throws IOException
* @throws UnsupportedAudioFileException
*/
- public void cancel() throws UnsupportedAudioFileException, IOException, LineUnavailableException {
+ public void cancel() {
gameLoop.stop();
gui.Driver.mediaPlayer.stop();
Media song = new Media(Paths.get("src/assets/MenuMusicPlaceholder.wav").toUri().toString());
gui.Driver.mediaPlayer = new MediaPlayer(song);
+ gui.Driver.mediaPlayer.setCycleCount(Integer.MAX_VALUE);
new MediaView(gui.Driver.mediaPlayer);
gui.Driver.mediaPlayer.play();
}
diff --git a/src/gui/Driver.java b/src/gui/Driver.java
index 39cda73..c708d80 100644
--- a/src/gui/Driver.java
+++ b/src/gui/Driver.java
@@ -18,9 +18,11 @@ import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
+import javafx.util.Duration;
import main.LevelController;
import main.SettingsController;
import sound.AudioFilePlayer;
+import sound.ShortAudioPlayer;
import java.nio.file.Paths;
@@ -39,6 +41,7 @@ import gameplay.SongPlayer;
public class Driver extends Application
{
+ public static ShortAudioPlayer menuFx = new ShortAudioPlayer();
public static MediaPlayer mediaPlayer;
@@ -67,6 +70,7 @@ public class Driver extends Application
Media song = new Media(Paths.get("src/assets/MenuMusicPlaceholder.wav").toUri().toString());
mediaPlayer = new MediaPlayer(song);
new MediaView(mediaPlayer);
+ mediaPlayer.setCycleCount(Integer.MAX_VALUE);
mediaPlayer.play();
primaryStage = newPrimaryStage;
diff --git a/src/gui/GameOver.java b/src/gui/GameOver.java
index 8d6e8ea..e504437 100644
--- a/src/gui/GameOver.java
+++ b/src/gui/GameOver.java
@@ -70,6 +70,7 @@ public class GameOver extends Pane
save.setOnAction(new EventHandler<ActionEvent>() { //this is the same as the "e ->" thing but it allows more than one line to be added
@Override
public void handle(ActionEvent event) {
+ Driver.menuFx.play("src/assets/MenuForward.wav");
save.setDisable(true);
name.setDisable(true);
diff.addToLeaderboard(name.getText(), score2);
@@ -89,11 +90,17 @@ public class GameOver extends Pane
Button exit = new Button();
exit.setText("Back");
- exit.setOnAction(e -> Driver.setMenu(lastMenu));
+ exit.setOnAction(e -> {
+ Driver.menuFx.play("src/assets/MenuBackward.wav");
+ Driver.setMenu(lastMenu);
+ });
Button replay = new Button();
replay.setText("Replay");
- replay.setOnAction(e -> Driver.setMenu(new LevelSurround(level, diff, lastMenu)));
+ replay.setOnAction(e -> {
+ Driver.menuFx.play("src/assets/MenuForward.wav");
+ Driver.setMenu(new LevelSurround(level, diff, lastMenu));
+ });
BorderPane buttonBox = new BorderPane();
buttonBox.setLeft(exit);
diff --git a/src/gui/Leaderboard.java b/src/gui/Leaderboard.java
index 219cd35..4c7a1b5 100644
--- a/src/gui/Leaderboard.java
+++ b/src/gui/Leaderboard.java
@@ -49,7 +49,10 @@ public class Leaderboard extends Pane
Button exit = new Button();
exit.setText("Back");
- exit.setOnAction(e -> Driver.setMenu(prev));
+ exit.setOnAction(e -> {
+ Driver.menuFx.play("src/assets/MenuBackward.wav");
+ Driver.setMenu(prev);
+ });
VBox centerBox = new VBox();
centerBox.setAlignment(Pos.CENTER);
diff --git a/src/gui/LevelDetails.java b/src/gui/LevelDetails.java
index a415d74..4a417ec 100644
--- a/src/gui/LevelDetails.java
+++ b/src/gui/LevelDetails.java
@@ -95,10 +95,16 @@ public class LevelDetails extends VBox
diffSelector.getChildren().add(temp);
}
play.disableProperty().bind(diffToggleGroup.selectedToggleProperty().isNull()); //disables play button when no difficulty is selected
- play.setOnAction(e -> Driver.setMenu(new LevelSurround(level, (Difficulty)diffToggleGroup.getSelectedToggle().getUserData(), Driver.getMenu())));
+ play.setOnAction(e -> {
+ Driver.menuFx.play("src/assets/MenuForward.wav");
+ Driver.setMenu(new LevelSurround(level, (Difficulty)diffToggleGroup.getSelectedToggle().getUserData(), Driver.getMenu()));
+ });
leaderboard.disableProperty().bind(diffToggleGroup.selectedToggleProperty().isNull());
- leaderboard.setOnAction(e -> Driver.setMenu(new Leaderboard(level, (Difficulty)diffToggleGroup.getSelectedToggle().getUserData(), Driver.getMenu())));
+ leaderboard.setOnAction(e -> {
+ Driver.menuFx.play("src/assets/MenuForward.wav");
+ Driver.setMenu(new Leaderboard(level, (Difficulty)diffToggleGroup.getSelectedToggle().getUserData(), Driver.getMenu()));
+ });
HBox diffBox = new HBox();
diff --git a/src/gui/LevelSelector.java b/src/gui/LevelSelector.java
index 07ace6e..1d71a3f 100644
--- a/src/gui/LevelSelector.java
+++ b/src/gui/LevelSelector.java
@@ -43,7 +43,9 @@ public class LevelSelector extends Pane
Button exit = new Button();
exit.setText("Back");
- exit.setOnAction(e -> Driver.setMenu(new MainMenu()));
+ exit.setOnAction(e -> {Driver.setMenu(new MainMenu());
+ Driver.menuFx.play("src/assets/MenuBackward.wav");
+ });
VBox leftBox = new VBox();
leftBox.setAlignment(Pos.CENTER_LEFT);
diff --git a/src/gui/LevelSurround.java b/src/gui/LevelSurround.java
index d5dcd33..c89ef6d 100644
--- a/src/gui/LevelSurround.java
+++ b/src/gui/LevelSurround.java
@@ -35,11 +35,8 @@ public class LevelSurround extends Pane
exit.setText("Back");
exit.setOnAction(e -> {
Driver.setMenu(prev);
- try {
- game.cancel();
- } catch (UnsupportedAudioFileException | IOException | LineUnavailableException e1) {
- e1.printStackTrace();
- }
+ Driver.menuFx.play("src/assets/MenuBackward.wav");
+ game.cancel();
});
Button pause = new Button();
diff --git a/src/gui/MainMenu.java b/src/gui/MainMenu.java
index fe26054..56a0a05 100644
--- a/src/gui/MainMenu.java
+++ b/src/gui/MainMenu.java
@@ -31,15 +31,21 @@ public class MainMenu extends Pane
Button play = new Button();
play.setText("Play");
- play.setOnAction(e -> Driver.setMenu(new LevelSelector()));
+ play.setOnAction(e -> {Driver.setMenu(new LevelSelector());
+ Driver.menuFx.play("src/assets/MenuForward.wav");
+ });
Button settings = new Button();
settings.setText("Settings");
- settings.setOnAction(e -> Driver.setMenu(new Settings()));
+ settings.setOnAction(e -> {Driver.setMenu(new Settings());
+ Driver.menuFx.play("src/assets/MenuForward.wav");
+ });
Button exit = new Button();
exit.setText("Quit");
- exit.setOnAction(e -> Driver.quit());
+ exit.setOnAction(e -> {Driver.quit();
+ Driver.menuFx.play("src/assets/MenuBackward.wav");
+ });
VBox buttonBox = new VBox();
buttonBox.getChildren().addAll(play, settings, exit);
diff --git a/src/gui/Settings.java b/src/gui/Settings.java
index 056c71e..4e82056 100644
--- a/src/gui/Settings.java
+++ b/src/gui/Settings.java
@@ -58,7 +58,10 @@ public class Settings extends Pane
fullscreen.setText("Toggle (F11)");
fullscreen.getStyleClass().remove("toggle-button");
fullscreen.getStyleClass().add("button");
- fullscreen.setOnAction(e -> Driver.primaryStage.setFullScreen(!Driver.primaryStage.isFullScreen()));
+ fullscreen.setOnAction(e -> {
+ Driver.menuFx.play("src/assets/MenuForward.wav");
+ Driver.primaryStage.setFullScreen(!Driver.primaryStage.isFullScreen());
+ });
VBox fullBox = new VBox();
fullBox.getChildren().addAll(fullText,fullscreen);
@@ -70,11 +73,17 @@ public class Settings extends Pane
devLabel.getStyleClass().add("t3");
Button levelEdit = new Button("Level Utility");
- levelEdit.setOnAction(e -> new devmenu.LevelList());
+ levelEdit.setOnAction(e -> {
+ Driver.menuFx.play("src/assets/MenuForward.wav");
+ new devmenu.LevelList();
+ });
Button devMenu = new Button();
devMenu.setText("Debug Menu");
- devMenu.setOnAction(e -> Driver.debug.show());
+ devMenu.setOnAction(e -> {
+ Driver.menuFx.play("src/assets/MenuForward.wav");
+ Driver.debug.show();
+ });
VBox devBox = new VBox();
devBox.getStyleClass().add("box");
@@ -91,7 +100,10 @@ public class Settings extends Pane
Button exit = new Button();
exit.setText("Back");
- exit.setOnAction(e -> Driver.setMenu(new MainMenu()));
+ exit.setOnAction(e -> {
+ Driver.menuFx.play("src/assets/MenuBackward.wav");
+ Driver.setMenu(new MainMenu());
+ });
BorderPane buttonBox = new BorderPane();
buttonBox.setLeft(exit);