在 Gamemaker 中进入房间时停止音频?

Stop audio when enter room in Gamemaker?

在进入指定房间时让音频停止播放时遇到一些问题。我尝试了几种不同的方法,包括使用 if 语句和 audio_play_sound/audio_stop_sound 和 audio_play_music/audio_stop_music 对其进行完全编码,但这两种方法都不起作用,只是将音乐一遍又一遍地分层,直到弄得一团糟的声音。

目前我试过这样做,但是一进房间音乐就一直在播放,根本停不下来。

有人知道如何让它工作吗? 我正在使用最新版本的 Gamemaker。

干杯

您的问题是 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);
}

基本上,当您开始循环播放声音时,将其索引存储在一个全局变量中,这样您就可以在需要时从不同的屏幕或对象停止它。