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.hqwc.cn/news/69600.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python案例|Pandas正则表达式

字符串的处理在数据清洗中占比很大。也就是说,很多不规则的数据处理都是在对字符串进行处理。Excel提供了拆分、提取、查找和替换等对字符串处理的技术。在Pandas中同样提供了这些功能,并且在Pandas中还有正则表达式技术的加持,让其字符串处理能力更加强大。 01、正则 正则就是…

CTFshow 限时活动 红包挑战7、红包挑战8

CTFshow红包挑战7 写不出来一点&#xff0c;还是等了官方wp之后才复现。 直接给了源码 <?php highlight_file(__FILE__); error_reporting(2);extract($_GET); ini_set($name,$value);system("ls ".filter($_GET[1])."" );function filter($cmd){$cmd…

通义大模型:打造更智能、更灵活的自然语言处理技术

大家好&#xff0c;今天我想向大家介绍一款备受瞩目的自然语言处理技术——通义大模型。作为一种基于深度学习的人工智能技术&#xff0c;通义大模型能够模拟人类的思维方式&#xff0c;实现更智能、更灵活的自然语言处理&#xff0c;为我们的生活和工作带来了极大的便利。 在…

KafkaStream:Springboot中集成

1、在kafka-demo中创建配置类 配置kafka参数 package com.heima.kafkademo.config;import lombok.Data; import org.apache.kafka.common.serialization.Serdes; import org.apache.kafka.streams.StreamsConfig; import org.springframework.boot.context.properties.Configu…

shell脚本之正则表达式

目录 一.常见的管道命令1.1sort命令1.2uniq命令1.3tr命令1.4cut命令1.5实例1.5.1统计当前主机连接状态1.5.2统计当前主机数 二.正则表达式2.1正则表达式的定义2.2常见元字符&#xff08;支持的工具&#xff1a;find&#xff0c;grep&#xff0c;egrep&#xff0c;sed和awk&…

C语言入门 Day_5 四则运算

目录 前言 1.四则运算 2.其他运算 3.易错点 4.思维导图 前言 图为世界上第一台通用计算机ENIAC,于1946年2月14日在美国宾夕法尼亚大学诞生。发明人是美国人莫克利&#xff08;JohnW.Mauchly&#xff09;和艾克特&#xff08;J.PresperEckert&#xff09;。 计算机的最开始…

【变形金刚01】attention和transformer所有信息

图1.来源&#xff1a;Arseny Togulev在Unsplash上的照片 一、说明 这是一篇 长文 &#xff0c;几乎讨论了人们需要了解的有关注意力机制的所有信息&#xff0c;包括自我注意、查询、键、值、多头注意力、屏蔽多头注意力和转换器&#xff0c;包括有关 BERT 和 GPT 的一些细节。因…

Spring-Cloud-Loadblancer详细分析_3

前两篇文章介绍了加载过程&#xff0c;本文从Feign的入口开始分析执行过程&#xff0c;还是从FeignBlockingLoadBalancerClient.execute来入手 public class FeignBlockingLoadBalancerClient implements Client {private static final Log LOG LogFactory.getLog(FeignBlock…

SQL- 每日一题【1327. 列出指定时间段内所有的下单产品】

题目 表: Products 表: Orders 写一个解决方案&#xff0c;要求获取在 2020 年 2 月份下单的数量不少于 100 的产品的名字和数目。 返回结果表单的 顺序无要求 。 查询结果的格式如下。 示例 1: 解题思路 1.题目要求我们获取在 2020 年 2 月份下单的数量不少于 100 的产品的…

冉冉升起的星火,再度升级迎来2.0时代!

文章目录 前言权威性评测结果 星火大模型多模态功能插件功能简历生成文档问答PPT生成 代码能力 福利 前言 前几天从技术群里看到大家都在谈论《人工智能大模型体验报告2.0》里边的内容&#xff0c;抱着好奇和学习的态度把报告看了一遍。看完之后瞬间被里边提到的科大讯飞的星火…

Python爬虫:js逆向调式操作及调式中遇到debugger问题

Python爬虫:js逆向调式操作及调式中遇到debugger问题 1. 前言2. js逆向调式操作2.1 DOM事件断点2.2 XHR/提取断点(用于请求接口参数加密处理)2.3 请求返回的数据是加密的2.4 hook定位参数 3. 调式中遇到debugger问题3.1 解决方式(一律不在此处暂停)3.2 问题&#xff1a;点击一律…

Flink CDC系列之:TiDB CDC 导入 Elasticsearch

Flink CDC系列之&#xff1a;TiDB CDC 导入 Elasticsearch 一、通过docker 来启动 TiDB 集群二、下载 Flink 和所需要的依赖包三、在TiDB数据库中创建表和准备数据四、启动Flink 集群&#xff0c;再启动 SQL CLI五、在 Flink SQL CLI 中使用 Flink DDL 创建表六、Kibana查看Ela…