进入指定房间时,让音频停止播放有些麻烦。我尝试了几种不同的方法,包括使用if语句和audio_play_sound / audio_stop_sound以及audio_play_music / audio_stop_music对其进行完全编码,但是这两种方法都不起作用,只是一遍又一遍地分层播放音乐,直到产生混乱的声音为止。
目前,我已经尝试过这种方法,但是进入房间后,音乐只会继续播放,而且不会停止播放。
有人知道如何使它正常工作吗? 我正在使用最新版本的Gamemaker。
欢呼
答案 0 :(得分:1)
您的问题是 audio_stop_sound()方法接受声音的实例,而不是声音对象的名称。
我在没有Game Maker Studio的情况下执行此操作来验证代码,但是执行此操作的最佳方法是保存开始声音时返回的索引,并稍后使用该索引停止它。
例如开始播放声音(称为MainMenuTheme):
global.MENU_SOUND = audio_play_sound(MainMenuTheme, 1, 1);
然后停止
if (audio_is_playing(global.MENU_SOUND))
{
audio_stop_sound(global.MENU_SOUND);
}
基本上,当您开始播放循环声音时,请将其索引存储在全局变量中,以便在需要时可以从其他屏幕或对象停止它。