一:UGUI制作
1. 首先在【层级】下面创建UI里面的Slider组件。设置好它对应的宽度和高度。
2.调整Slider滑动条的填充颜色。一般声音颜色我黄色,所以我们也调成黄色。
我们尝试滑动Slider里面的value。
a.滑动前。
b.滑动一半。
c.滑动完。
从以上滑动value值我们可以知道,是通过value值来控制我们填充的效果。制作血条也是类似情况,看具体干什么用的,我们制作滑动控制音量条,所以我们需要先获取声音。
三:创建空物体挂载声音
我们创建一个空物体取名BGM,然后添加AudioSource声音源组件,在组件中添加需要控制声音的大小。
此刻我们已经挂载在需要被控制的声音,然后我们创建脚本来实现声音大小跟随Slider组件里面的Value值变化而变化。
四:代码实现控制声音大小
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class BGM : MonoBehaviour { // Start is called before the first frame update //声音控制器 public Slider AudioSlider; //声音控制器文本 public Text AudioText; //音乐 public AudioSource BGMsource; void Start() { //默认一开始声音为0.6 AudioSlider.value = 0.6f; } //控制声音大小方法 public void AudioCtrl() { //把value的值赋值给 BGMsource.volume BGMsource.volume = AudioSlider.value; //文本显示当前声音大小 AudioText.text = AudioSlider.value.ToString(); } }
五:回到Unity引擎
1.为了能够明显看到出来,我们上面做的更细致,添加了一个文本显示声音大小的情况。
所以我们需要在Unity里面创建一个Text文本,设置好Text文本的大小。
2.挂载组件和对象
3.运行
a.默认声音为0.6
b.在游戏场景滑动Slider组件,对应的声音音量值会发生对应的变化。
制作声音控制器我们应该还有一个按钮,勾选它就有声音,禁用它声音就没了。接下来我们来实现一下。
六:声音控制器开关
1.创建Toggle组件
2.添加对应的组件到代码中
完善后:以下为整体代码。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class BGM : MonoBehaviour { // Start is called before the first frame update //声音控制器 public Slider AudioSlider; //声音控制器文本 public Text AudioText; //声音开关 public Toggle AudioSwitchToggle; //音乐 public AudioSource BGMsource; void Start() { //默认一开始声音为0.6 AudioSlider.value = 0.6f; } //控制声音大小方法 public void AudioCtrl() { //把value的值赋值给 BGMsource.volume BGMsource.volume = AudioSlider.value; //文本显示当前声音大小 AudioText.text = AudioSlider.value.ToString(); } //控制声音开关 public void AudioSwitchToggleCtrl() { //如果声音控制按钮勾选了,那么我们就有声音 if (AudioSwitchToggle.isOn) { //激活声音对象为自动播放 BGMsource.gameObject.SetActive(true); //调用移动滑块控制声音大小 AudioCtrl(); } else { //关闭声音对象 BGMsource.gameObject.SetActive(false); } } }
3.挂载tgoole对象和添加方法
六:运行效果图
1:运行时
2:点击toggle按钮后
我们可以看到BGM对象直接被禁用了,在运行时也听不到声音。
最后
以上步骤就是制作声音开关控制器和声音滑动条控制声音大小整个流程。
看到的小伙伴一键三连一下吧,你们的支持让我更有动力去创作和分享,希望能一直为你带来惊喜和收获。
一键三连吧!