在我的游戏中,我有一个音乐课,可以组织和播放所有音乐:
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) {
(..)
}
当我回到起点时,它不会重播。
答案 0 :(得分:1)
在stop方法中将backgroundMusicPlaying设置为false。猜你忘了这个。 你也应该这样:
backgroundMusicPlaying == true
而不是:
backgroundMusicPlaying = true
public static void BackgroundStop() {
if (backgroundMusicPlaying == true) {
backgroundMusic.stop();
backgroundMusicPlaying = false;
}
}