2014-11-24 137 views
1

在我的遊戲我有一個組織並播放所有音樂的音樂類:停止啓動音樂 - Libgdx的Java

public class MusicPlayer extends Game{ 
(..) 
    public static void MainBackgroundMusic(){ 

    if(backgroundMusicPlaying != true){ 
     backgroundMusic.play(); 
     backgroundMusic.setVolume(0.1f); 
     backgroundMusic.setLooping(true); 
     backgroundMusicPlaying = true; 
     } 

    } 

    public static void BackgroundStop(){ 
    if(backgroundMusicPlaying = true){ 
     backgroundMusic.stop(); 
     } 
    } 

我希望能夠停止播放音樂,在各級然後重新啓動再次。但是,當我嘗試並重新啓動它不會再次播放。

我所說的音樂在遊戲開始玩:

public OptionScreen(final Game1 gam){ 
    (..) 
    MusicPlayer.MainBackgroundMusic(); 
    (..) 
    } 
    public void render(float delta) { 
     (..) 
} 

水平開始時那麼我所說的停止:

public InsaneLevels(Game1 gam) { 
     (..) 
     MusicPlayer.BackgroundStop(); 
     (..) 
    } 
    public void render(float delta) { 
     (..) 
} 

當我回去的啓動它不會重播。

回答

1

將stopMusicPlaying設置爲false在停止方法中。猜你忘了這個。 你也應該有這樣的:

backgroundMusicPlaying == true

相反的:

backgroundMusicPlaying = true

public static void BackgroundStop() { 
     if (backgroundMusicPlaying == true) { 
      backgroundMusic.stop(); 
      backgroundMusicPlaying = false; 
     } 
    }