Unity中的声音
声音组件(一个scene中只能有一个Audio Listener,位于Camera)
Audio Source 理解为 “嘴巴”
Unity中支持的音频格式
声音开关
效果:点击背景音乐暂停,再点击音乐继续。
步骤
(1)创建UI—Toggle(切换)
与图片上对应:
Label 文字
Background 白色框框
Checkmark 黑色的勾
(可以根据自己的UI样式调整Background和Checkmark的Sprite,实现自己的效果)
比如我自己使用:
Background
Checkmark
这样可以实现(颜色不会变哦,图片是录屏的原因)
(2)在Toggle组件上添加Audio Source组件,在Audio Clip中拖入要加的音乐片段,其他属性开自己要求。
(3)创建一个空对象,命名为music,创建一个脚本,命名MusicToggle挂载上面
代码如下:
usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;publicclassMusicToggle:MonoBehaviour{publicToggle toggelMusic;publicAudioSource audio;publicvoidToggleMusicThing(){if(toggelMusic.isOn ==true){
audio.mute =false;}elseif(toggelMusic.isOn ==false){
audio.mute=true;}}}
将Toggle拖到脚本中,两个都是,因为Audio Source组件也在Toggle里面
(4)回到Toggle中
先点击“+”号,将music拖到Runtime下方的框中
然后点击Runtime右边的框,找到函数
这样就可以了。
动画事件播放声音
比较适合在Unity中制作动画时使用
(1)先制作好动画,在挂载动画的物体上挂载组件Audio Source。
注意:不要勾选“在唤醒时播放”
(2)创建一个脚本,挂载到该物体上
usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;publicclassPlayWater:MonoBehaviour{publicvoidPlaywater(){// Debug.Log("okkkkkkkk");AudioSource audio =GetComponent<AudioSource>();
audio.Play();}}
(3)打开动画片段,选择动画上要添加事件的帧数
点击“添加事件”
(3)点击刚添加的事件,在“检查器”窗口点击如下图,选择上面写的函数
这样就实现了在动画事件播放声音。
控制声音大小Slider
(1)创建一个空物体命名gameVoice,加上AudioSource组件,将声音Clip拖进去,打开Play On Wake和Loop,将Volume设置为1。
(2)创建一个Slider,命名为voiceSlider,将属性value设置为1
(3)创建一个脚本BackMusicControl,将脚本挂到gameVoice。
代码:
usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;publicclassBackMusicControl:MonoBehaviour{publicSlider slider;publicAudioSource backMusic;publicvoidControlMusic(){
backMusic.volume = slider.value;}}
将voiceSlider和gameVoice挂到上面
(4)在voiceSlider中点击添加事件,将gameVoice弱到坐下放格子,在右边格子点击,找到刚才写的脚本和其中的函数。
如有问题,欢迎留言 ヽ(✿゚▽゚)ノ
版权归原作者 F_九歌 所有, 如有侵权,请联系我们删除。