【Unity3D】BGM

游戏里面的背景音乐(Back Ground Music)一直是玩家谈论的话题,从太阁、大航海等暗耻的游戏,到某三剑,总有几首经典的背景音乐触动你的耳朵……BGM这个词,就算文化水平不高的我,经常看AB站的我都知道什么意思了,总有几个自带BGM的角色……所以嘛,背景音乐虽然不是游戏的核心,但绝对是重要的组成部分。在Unity3D里面,整BGM,其实难度也就和Helloworld差不多。为游戏添加BGM只需要几步和简单的脚本,具体如下

先用UGUI布置如下图的场景。其实这根本就不是重点!在Canvas里面2个Button,Text和Slider各1。


同时在Assets中新建文件夹叫Resources,只能叫这个名字,便于发布的时候Unity3D将这个文件夹的内容自动打包,以免出现一系列不好的问题。

然后在Resources导入音乐,如果你现在的机器上没有mp3,可以像我这样拿首Win7自带的示例音乐来凑个数。

当然,如果你是些什么某茄花园版,Ghost装机版,Win7精简版的话……还是自己拷首单曲循环来实验吧……


最后是重点中的重点,新建一个空物体GameObject。并先给它添加Audio Listener,再添加Audio Source两个组件Component,Audio Listener虽然看起来没什么调用,但是是必须的。同时,整个游戏场景这么多物体Object,只能有一个物体有Audio Listener组件。之后,在Audio Clip选择刚才导入的Kalimba.mp3。


然后编写如下的脚本BGM.cs赋予给这个空物体GameObject。

using UnityEngine;
using System.Collections;

public class BGM : MonoBehaviour
{

    public AudioSource audioSource;

    //开始、停止播放
    public void play_stop_music()
    {
        Debug.Log("s");
        if (!audioSource.isPlaying)
        {
            audioSource.Play();
        }
        else
        {
            audioSource.Stop();
        }
    }

    //暂停播放
    public void pause_music()
    {
        if (audioSource.isPlaying)
        {
            audioSource.Pause();
        }
    }

    //改变音量
    public void change_volume(float volume)
    {
        audioSource.volume = volume;
    }

}
如图所示,这个脚本开了个接口public AudioSource audioSource;,将无缝对接给刚才设置的组件,这里不懂的,可以参考《【Unity3D】同场景物体传值与Vector》( 点击打开链接)。同时,各个函数将被赋予2个Button与Slider,这里不懂的,可以参考《【Unity3D】场景切换、UGUI组件事件、开始游戏与关闭游戏》( 点击打开链接)。


编译、发布,你就可以与BGM愉快地玩耍。

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值