diff --git a/control/GameStateManager.java b/control/GameStateManager.java index 2b8cb6a..f906d52 100644 --- a/control/GameStateManager.java +++ b/control/GameStateManager.java @@ -48,6 +48,9 @@ public class GameStateManager { } public void setState(State st) { + if (st.ordinal() > 0 && !(currentState instanceof TitleState)) + currentState.stopAudio(); + currentState = gamestates.get(st.ordinal()); init(); } diff --git a/model/SongHandler.java b/model/SongHandler.java index 5293a39..aa5d013 100644 --- a/model/SongHandler.java +++ b/model/SongHandler.java @@ -11,7 +11,6 @@ import audio.AudioPlayer; import audio.Song; import audio.SongInstance; import audio.io.DirScanner; -import audio.sorting.SortALPHA; import audio.sorting.SortPLAYED; import data.io.SQLConnector; @@ -73,7 +72,9 @@ public class SongHandler { { currentSongInstance = si; } - + public boolean isPlaying(){ + return getProgress() > 0 ? true : false; + } private void updatePlayer() { diff --git a/model/gameState/GameState.java b/model/gameState/GameState.java index ac8f7b0..8448c1c 100644 --- a/model/gameState/GameState.java +++ b/model/gameState/GameState.java @@ -26,4 +26,5 @@ public abstract class GameState { public abstract void buttonPressed(ButtonEvent e); public abstract void buttonReleased(ButtonEvent e); public abstract void onJoystickMoved(JoystickEvent e); + public void stopAudio() { sh.close(); } } diff --git a/model/gameState/TitleState.java b/model/gameState/TitleState.java index 8bf2540..008292f 100644 --- a/model/gameState/TitleState.java +++ b/model/gameState/TitleState.java @@ -40,18 +40,20 @@ public class TitleState extends GameState { public TitleState(GameStateManager gsm, SongHandler sh, SQLConnector sql){ super(gsm, sh, sql); + if(!sh.isPlaying()) + sh.play(); createBackground(); } @Override public void init() { - sh.play(); + if(!sh.isPlaying()) + sh.play(); } @Override public void update(float factor) { - - frame++; + frame+=5; indexKast++; } @@ -114,7 +116,7 @@ public class TitleState extends GameState { g2.setFont(textFont); g2.setColor(Color.WHITE); - g2.drawString("©2015 Team Hamtaro", 550, 1012); + g2.drawString("�2015 Team Hamtaro", 550, 1012); g2.setColor(Color.RED); g2.setFont(textFont2);