unity中的关于声音(利用UI控制)

在游戏制作中声音是一个比较重要的部分,没有声音可以说游戏是没有灵魂的。

unity中声音组件介绍

在unity中如果想要加入声音,我们可以再摄像机上添加一个AudioSource 然后下载我们想要的音乐 置于文件夹中
然后给AudioSource (可以理解为嘴巴)中的AudioClip赋值(把音乐拖过去就行)
unity中Camera会自带Audio Listener (可以理解为耳朵) 在这里我们要注意一个Scene中最多只能有一个Audio Listener
否则会出现音乐无法播放的问题
AudioClip(音频剪辑)指定该音频源播放哪个音频文件。
Play On Awake(在唤醒时开始播放)选后,在游戏运行起来以后,就会开始播放。
Loop(循环)选后,声音进入 “单曲循环” 状态
其他设置我们用不上

使用代码控制声音的播放 暂停等效果

在这里我带大家做一个控制静音的Toggle
首先创建一个Toggle 在他前面创建一个Text
unity中的关于声音(利用UI控制)_第1张图片
然后我给出一段代码

      private  Toggle IsMusicToggle ;//toggle组件  
      public float musicVolume=0.5f;     
      private void Start()
    {
        IsMusicToggle = GetComponent();//赋值
        IsMusicToggle.isOn = false ;//默认不为静音模式
    }    public  void Onmusic()
    {
        if (IsMusicToggle.isOn == true)//若勾选则静音
        {
            music.Pause ();//声音暂停
        }
        else if(IsMusicToggle.isOn ==false )//若取消勾选取消静音
        {
            music.Play();//继续播放

 }

然后给上面创建的Toggle挂上这个脚本
然后给他注册事件
unity中的关于声音(利用UI控制)_第2张图片

给其相应组件赋值
然后运行游戏就可以了
我们可以看到 当开始运行时候声音默认播放
在静音上花勾的时候 声音就没有了(其实只是暂停了)

控制声音大小的脚本

public void OnGUI() {
//创建一个横向滑动条用于动态修改音乐音量
//第一个参数 滑动条范围
//第二个参数 初始滑块位置
//第三个参数 起点
//第四个参数 终点
musicVolume = GUI.HorizontalSlider(new Rect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F); //将音量的百分比打印出来
//GUI.Label(new Rect(160, 50, 300, 20), "Music Volueme is " + (int)(musicVolume * 100) + “%”);
if (music.isPlaying)
{
//音乐播放中设置音乐音量 取值范围 0.0F到 1.0
music.volume = musicVolume;
}
}
这个不用任何组组件 代码中创建滑动条了
运行即可通过滑动而控制声音的 大小

就这么多

你可能感兴趣的:(unity,声音,unity,UGUI)