Unity如何制作声音控制条(控制音量大小)

一:UGUI制作

1. 首先在【层级】下面创建UI里面的Slider组件。设置好它对应的宽度和高度。

Unity如何制作声音控制条(控制音量大小)_第1张图片

 2.调整Slider滑动条的填充颜色。一般声音颜色我黄色,所以我们也调成黄色。

Unity如何制作声音控制条(控制音量大小)_第2张图片

我们尝试滑动Slider里面的value。

Unity如何制作声音控制条(控制音量大小)_第3张图片

a.滑动前。

Unity如何制作声音控制条(控制音量大小)_第4张图片

b.滑动一半。

 46a46cad5ab94f9c9607018048fe7c1d.png

c.滑动完。

 Unity如何制作声音控制条(控制音量大小)_第5张图片

 从以上滑动value值我们可以知道,是通过value值来控制我们填充的效果。制作血条也是类似情况,看具体干什么用的,我们制作滑动控制音量条,所以我们需要先获取声音。

三:创建空物体挂载声音

我们创建一个空物体取名BGM,然后添加AudioSource声音源组件,在组件中添加需要控制声音的大小。

Unity如何制作声音控制条(控制音量大小)_第6张图片

此刻我们已经挂载在需要被控制的声音,然后我们创建脚本来实现声音大小跟随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文本的大小。

Unity如何制作声音控制条(控制音量大小)_第7张图片

 2.挂载组件和对象

Unity如何制作声音控制条(控制音量大小)_第8张图片

 Unity如何制作声音控制条(控制音量大小)_第9张图片

3.运行

a.默认声音为0.6 

Unity如何制作声音控制条(控制音量大小)_第10张图片

b.在游戏场景滑动Slider组件,对应的声音音量值会发生对应的变化。

Unity如何制作声音控制条(控制音量大小)_第11张图片

 制作声音控制器我们应该还有一个按钮,勾选它就有声音,禁用它声音就没了。接下来我们来实现一下。

六:声音控制器开关

1.创建Toggle组件

Unity如何制作声音控制条(控制音量大小)_第12张图片

 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对象和添加方法

Unity如何制作声音控制条(控制音量大小)_第13张图片

Unity如何制作声音控制条(控制音量大小)_第14张图片

六:运行效果图

1:运行时

Unity如何制作声音控制条(控制音量大小)_第15张图片 

 2:点击toggle按钮后

Unity如何制作声音控制条(控制音量大小)_第16张图片

我们可以看到BGM对象直接被禁用了,在运行时也听不到声音。 


最后

以上步骤就是制作声音开关控制器和声音滑动条控制声音大小整个流程。

看到的小伙伴一键三连一下吧,你们的支持让我更有动力去创作和分享,希望能一直为你带来惊喜和收获。

Unity如何制作声音控制条(控制音量大小)_第17张图片

一键三连吧!

 

 

你可能感兴趣的:(Unity的相关技术,unity,游戏引擎)