Unity中的声音(声音开关+动画事件播放声音+控制声音大小UI) 您所在的位置:网站首页 flash插入音频 Unity中的声音(声音开关+动画事件播放声音+控制声音大小UI)

Unity中的声音(声音开关+动画事件播放声音+控制声音大小UI)

2023-11-19 08:53| 来源: 网络整理| 查看: 265

Unity中的声音 声音开关动画事件播放声音控制声音大小Slider         声音组件(一个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挂载上面 代码如下:

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class MusicToggle : MonoBehaviour { public Toggle toggelMusic; public AudioSource audio; public void ToggleMusicThing() { if (toggelMusic.isOn == true) { audio.mute =false; } else if (toggelMusic.isOn == false) { audio.mute=true; } } }

将Toggle拖到脚本中,两个都是,因为Audio Source组件也在Toggle里面 在这里插入图片描述 (4)回到Toggle中 在这里插入图片描述 先点击“+”号,将music拖到Runtime下方的框中 在这里插入图片描述 然后点击Runtime右边的框,找到函数 在这里插入图片描述 这样就可以了。

动画事件播放声音

比较适合在Unity中制作动画时使用 (1)先制作好动画,在挂载动画的物体上挂载组件Audio Source。 注意:不要勾选“在唤醒时播放” 在这里插入图片描述 (2)创建一个脚本,挂载到该物体上 在这里插入图片描述

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class PlayWater : MonoBehaviour { public void Playwater() { // Debug.Log("okkkkkkkk"); AudioSource audio = GetComponent(); audio.Play(); } }

(3)打开动画片段,选择动画上要添加事件的帧数 点击“添加事件” 在这里插入图片描述 (3)点击刚添加的事件,在“检查器”窗口点击如下图,选择上面写的函数 在这里插入图片描述 这样就实现了在动画事件播放声音。

控制声音大小Slider

(1)创建一个空物体命名gameVoice,加上AudioSource组件,将声音Clip拖进去,打开Play On Wake和Loop,将Volume设置为1。 在这里插入图片描述 (2)创建一个Slider,命名为voiceSlider,将属性value设置为1 在这里插入图片描述 (3)创建一个脚本BackMusicControl,将脚本挂到gameVoice。 代码:

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class BackMusicControl : MonoBehaviour { public Slider slider; public AudioSource backMusic; public void ControlMusic() { backMusic.volume = slider.value; } }

将voiceSlider和gameVoice挂到上面 在这里插入图片描述 (4)在voiceSlider中点击添加事件,将gameVoice弱到坐下放格子,在右边格子点击,找到刚才写的脚本和其中的函数。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

如有问题,欢迎留言 ヽ(✿゚▽゚)ノ



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有