diff options
| -rw-r--r-- | levels/testLevel/easy/metadata.json | 2 | ||||
| -rw-r--r-- | src/gameplay/SongPlayer.java | 23 | ||||
| -rw-r--r-- | src/gui/LevelSurround.java | 21 | 
3 files changed, 33 insertions, 13 deletions
| diff --git a/levels/testLevel/easy/metadata.json b/levels/testLevel/easy/metadata.json index 29eacc0..ca75416 100644 --- a/levels/testLevel/easy/metadata.json +++ b/levels/testLevel/easy/metadata.json @@ -1,5 +1,5 @@  {      "title": "Easy",      "bpm": 28, -    "numBeats": 100 +    "numBeats": 120  }
\ No newline at end of file diff --git a/src/gameplay/SongPlayer.java b/src/gameplay/SongPlayer.java index acf9d6b..f76f5e3 100644 --- a/src/gameplay/SongPlayer.java +++ b/src/gameplay/SongPlayer.java @@ -45,7 +45,8 @@ public class SongPlayer extends Pane {  	private int bpm;		//initializes the bpm of the song, to be read in from a metadata file later  	private int songLength; //initializes the length of the song in terms of the song's bpm, to be read in later -	sound.AudioFilePlayer music; +	AudioFilePlayer music; +  	private main.Level level;  	private Difficulty difficulty;  	private Pane pane; @@ -110,13 +111,15 @@ public class SongPlayer extends Pane {  	public SongPlayer(main.Level lvl, Difficulty d, Pane p, ScoreController cntrl) {  		bpm = d.bpm;					//Reads the song's bpm from a metadata file -		  		level = lvl;  		difficulty = d;  		pane = p; +		music = new AudioFilePlayer(difficulty.song.getPath()); -		songLength = d.numBeats;  -		timer = new Timer(d.bpm);	//Sets the timer's bpm to that of the song +		System.out.println(d.bpm + " " + d.numBeats); + +		songLength = 28; //PLACEHOLDER BPM AND TIMER +		timer = new Timer(120);	//Sets the timer's bpm to that of the song  		scoreCounter = cntrl;			//Uses the song's designated scoreCounter  		try { @@ -174,10 +177,6 @@ public class SongPlayer extends Pane {  		root.getChildren().addAll(place);	//aligns the components within the pane  		super.getChildren().addAll(root);	//puts all of the combonents in the pane to be rendered - -		gameLoop.start();		//starts the gameLoop, a periodic backround task runner that runs the methods within it 60 times every second -		music = new AudioFilePlayer(d.song.getPath()); -		music.play();  	}  	/** @@ -257,8 +256,14 @@ public class SongPlayer extends Pane {  		}  	}; +	//starts the gameLoop, a periodic backround task runner that runs the methods within it 60 times every second +	public void start() { +		music.play(); +		gameLoop.start(); +	} +  	/** -	 * Stops the gameloop and the music +	 * Stops the gameloop  	 * @throws LineUnavailableException  	 * @throws IOException  	 * @throws UnsupportedAudioFileException diff --git a/src/gui/LevelSurround.java b/src/gui/LevelSurround.java index e84071e..3f10925 100644 --- a/src/gui/LevelSurround.java +++ b/src/gui/LevelSurround.java @@ -1,5 +1,10 @@  package gui; +import java.io.IOException; + +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.UnsupportedAudioFileException; +  import gameplay.SongPlayer;  import javafx.geometry.Insets;  import javafx.geometry.Pos; @@ -13,9 +18,10 @@ import javafx.scene.text.Text;  import main.Difficulty;  import main.Level;  import main.ScoreController; +import sound.AudioFilePlayer;  public class LevelSurround extends Pane -{ +{         /*       * this class is a layout class, most of its purpose is to place UI elements like Buttons within Panes like VBoxes.       * the creation of these UI elements are mostly not commented due to their repetitive and self explanatory nature. @@ -28,7 +34,14 @@ public class LevelSurround extends Pane          Button exit = new Button();          exit.setText("Back"); -        exit.setOnAction(e -> Driver.setMenu(prev)); +        exit.setOnAction(e -> { +            Driver.setMenu(prev); +            try { +                game.cancel(); +            } catch (UnsupportedAudioFileException | IOException | LineUnavailableException e1) { +                e1.printStackTrace(); +            } +        });          Button pause = new Button();          pause.setText("Pause"); @@ -92,7 +105,7 @@ public class LevelSurround extends Pane          scoreTextBox.minWidthProperty().bind(super.prefWidthProperty().subtract(game.minWidthProperty()).divide(2));          HBox centerBox = new HBox(); -        centerBox.getChildren().addAll(comboTextBox,game, scoreTextBox); +        centerBox.getChildren().addAll(comboTextBox, game, scoreTextBox);          centerBox.setAlignment(Pos.BOTTOM_CENTER);          StackPane root = new StackPane(); @@ -122,5 +135,7 @@ public class LevelSurround extends Pane          testfinish.setText(level.getTitle() + "launch game end");          testfinish.setOnAction(e -> Driver.setMenu(new GameOver(level, difficulty, prev, sc.getScore())));          Driver.debug.addButton(testfinish); + +        game.start();      }  }
\ No newline at end of file | 
