Эх сурвалжийг харах

Fixed double songs playing

jancoow 10 жил өмнө
parent
commit
2bb3f47126

+ 3 - 0
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();
 	}

+ 3 - 2
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()
 	{

+ 1 - 0
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();   }
 }

+ 6 - 4
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);