gamemaker吧 关注:13,566贴子:94,137
  • 4回复贴,共1

(求助)关于背景音乐

只看楼主收藏回复

我想创造出两个效果(GM8汉化版、无音频插件、音频均为mp3格式、点绿箭头可播放)
1,从进入房间开始,循环播放背景音乐snd_01,主角objPlayer在吃掉奖励物的时候,在不影响背景音乐继续播放的情况下,播放一次snd_reward。
2,从进入房间开始,循环播放背景音乐snd_01,在主角objPlayer被杀的时候,暂时停止背景音乐,播放一次snd_death。紧接着,背景音乐snd_01从刚才中断的地方继续。
其中,snd_01设为背景midi音乐,snd_death与snd_reward设置为一般音效。
以下代码,会导致以下问题
1,玩家遇到obj_reward的时候,直接重置snd_01,不播放snd_reward。
2,在玩家遇到obj_killer后,会在snd_death播放完毕后重头播放snd_01。(这个是干脆不知道怎么做)
最后,试问一定要使用插件吗?(我只需要背景音乐与音效重叠,不需要同时播放两个背景音乐或两个音效)


IP属地:天津1楼2019-03-24 17:07回复

    对象一,透明的(obj_music)
    Create事件:
    Q=0;
    step事件:
    if(!sound_isplaying(snd_01)&&!sound_isplaying(snd_death))
    {
    Q=1;
    }
    else
    {
    Q=2;
    }
    If(Q==1)
    {
    sound_loop(snd01);
    Q=2;
    }
    对象二,奖励物(obj_reward)
    Create事件:
    Q=1;
    Step事件:
    if(place_meeting(x,y,objPlayer)&&Q==1)
    {
    Q=2;
    sound_play(snd_reward);
    instance_destroy();
    }
    对象三,杀手(obj_killer)
    Create事件:
    Q=0;
    Step事件:
    if(Q==0)
    {
    Q=1;
    sound_play(snd_death);
    }
    还有一个obj_world用来让杀手的Q归零,这里就不写了。
    以上,感谢各位的帮助。


    IP属地:天津2楼2019-03-24 17:07
    回复
      1、gm8对mp3支持超级差,同一时间只能播放一个声音,一般来说音效请全部换成wave格式
      2、翻了一下帮助文档,gm8没有保存当前音乐进度的函数,或许你可以用sound_volume把背景音乐暂时静音来实现类似效果


      IP属地:上海3楼2019-03-24 18:44
      收起回复