当前位置: 首页 > news >正文

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

一:UGUI制作

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

b7a97e0944c746369ad0f9ad0640492e.png

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

a6ac7a900f6d479a8c98f417ea134add.png

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

9c6a87d481064bb3affbfe3bae2bb0df.png

a.滑动前。

ac1bba4e9b034fffb638a7908c844310.png

b.滑动一半。

 46a46cad5ab94f9c9607018048fe7c1d.png

c.滑动完。

 0b27484fa4db4a6582cfa33a97104396.png

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

三:创建空物体挂载声音

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

046c3c6373a04cf3b517fa4b7756b947.png

此刻我们已经挂载在需要被控制的声音,然后我们创建脚本来实现声音大小跟随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.6AudioSlider.value = 0.6f;}//控制声音大小方法public void AudioCtrl(){//把value的值赋值给 BGMsource.volume BGMsource.volume = AudioSlider.value;//文本显示当前声音大小AudioText.text = AudioSlider.value.ToString();}}

五:回到Unity引擎

1.为了能够明显看到出来,我们上面做的更细致,添加了一个文本显示声音大小的情况。

所以我们需要在Unity里面创建一个Text文本,设置好Text文本的大小。

71b4dfcb62934049858b0d8b166def3a.png

 2.挂载组件和对象

613aeb8693864ea7bfd86cbafd8f1ec5.png

 8e3f5456041547079dd954a8e19752ef.png

3.运行

a.默认声音为0.6 

d3842fac90634f7c8aeb2f0fb0777a60.png

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

16d5ae9c30c546498c00cfa82ec611af.png

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

六:声音控制器开关

1.创建Toggle组件

b33dd35b5b934c5f8c15e43b6f15ef03.png

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

9e50fd48feb34546b6139bb3fc89cdfa.png

3fa3cb43b6d14787b548f0867bb9855f.png

六:运行效果图

1:运行时

3aeb4fc0b6d14a18a635e84b51575fdd.png 

 2:点击toggle按钮后

aa466dcfc7a0463eb0c7edea1303b1fe.png

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


最后

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

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

2413988ad82470fe49997fa97ee1adf8.png

一键三连吧!

 

 

http://www.lryc.cn/news/126800.html

相关文章:

  • 非计算机科班如何顺利转行计算机领域?
  • Android音视频剪辑器自定义View实战!
  • stm32_ADC电源、通道、工作模式
  • Vue编程式路由导航
  • LVS-DR模式
  • 详细介绍生成对抗网络 (GAN) 的原理和基于Pytorch源码的实现
  • 高性能数据处理选型
  • 【深入理解C语言】-- 关键字2
  • Java进阶(3)——手动实现ArrayList 源码的初步理解分析 数组插入数据和删除数据的问题
  • 若依前端npm run dev启动时报错
  • 实战项目:基于主从Reactor模型实现高并发服务器
  • iTOP-RK3568开发板ubuntu环境下安装Eclipse
  • 大气热力学
  • 【RabbitMQ】消息队列-RabbitMQ篇章
  • W5100S-EVB-PICO 做UDP Server进行数据回环测试(七)
  • Redis如何处理内存溢出的情况?
  • 高效数据传输:轻松上手将Kafka实时数据接入CnosDB
  • 【探索Linux】—— 强大的命令行工具 P.3(Linux开发工具 vim)
  • AgentBench::AI智能体发展的潜在问题一
  • 【2023年11月第四版教材】《第5章-信息系统工程之软件工程(第二部分)》
  • OpenCV(二)——图像基本处理(二)
  • Redis—缓存
  • 第三章 图论 No.10无向图的双连通分量
  • Java学习手册——第二篇面向对象程序设计
  • Redis实战:Redis的安装及简单使用
  • Linux学习之初识Linux
  • 神经网络基础-神经网络补充概念-29-为什么使用深层表示
  • 2023最新水果编曲软件FL Studio 21.1.0.3267音频工作站电脑参考配置单及系统配置要求
  • 边缘计算:下一代计算模式的突破
  • 连接不上手机,adb devices为空: