在 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);
}
基本上,当您开始循环播放声音时,将其索引存储在一个全局变量中,这样您就可以在需要时从不同的屏幕或对象停止它。
在进入指定房间时让音频停止播放时遇到一些问题。我尝试了几种不同的方法,包括使用 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);
}
基本上,当您开始循环播放声音时,将其索引存储在一个全局变量中,这样您就可以在需要时从不同的屏幕或对象停止它。