在我的游戏中,我有一个音乐类来组织和播放所有音乐:
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) {
(..)
}
当我回到开始时它不会重播。
最佳答案
在停止方法中将 backgroundMusicPlaying 设置为 false。我猜你忘了这个。 你也应该有这个:
backgroundMusicPlaying == true
代替:
backgroundMusicPlaying = true
public static void BackgroundStop() {
if (backgroundMusicPlaying == true) {
backgroundMusic.stop();
backgroundMusicPlaying = false;
}
}
关于java - 停止开始音乐 - Libgdx Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27114523/