元素定位contains(【2.UI元素】5.Slider)

5.Slider

Slider(滑动条)是在横向或纵向范围内通过滑块来操作数值的 UI 元素。可以用于调节数值,也可以用于进度条显示。

5.1 Slider 的构成

Slider 的构成如下图所示:

Slider 的子级是由图像和空物体构成的。

其变量如下图所示:

Fill Rect – 填充矩形,当滑动滑块时代表当前数值大小的部分。

Handle Rect – 滑块图,如果空缺就可以设置成没有滑块的进度条,没有滑块的情况下,鼠标拖拽进度条仍然会有滑动操作。

Direction – 方向,包括从左到右,从上到下,从右到左,从下到上选项。

Min Value – 最小值

Max Value – 最大值

Whole N广电大流量卡umbers – 勾选后滑块值为整数

Value – 滑块的当前值

5.2 Slider 的事件监听

Slider 的事件监听是 On Value Changed(Single),其参数值为单精度浮点型,即 Single 类型。

1.设置 Slider 组件的监听区

示例:通过 Slider 控制图像的透明度。

准备好 Image 和 Slider,设置 Slider 的最小值为 0,最大值为 1,将 Image 拖拽到 Slider 监听区,选择 No Function 为 CanvasRenderer 组件的 SetAlpha。如下图所示:

2.使用脚本实现

编写脚本如下:

usingSystem.Coll广电大流量卡ections;using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class SliderValueChanged : MonoBehaviour { Slider slider; GameObject image; // Start is called before the first frame update void Start(){ slider = GetComponent<Slider>(); slider.onValueChanged.AddListener(On广电大流量卡ValueChanged); image = GameObject.Find(“Image”); } // Update is called once per frame void Update() { } void OnValueChanged(float value) { image.GetComponent<CanvasRenderer>().SetAlpha(value); print(“The slider value is “ + value.ToString()); } }

将脚本拖拽到 Slider 上即可。

5.3无滑块的 Slider

无滑广电大流量卡块的 Slider 需要去掉开关区的勾选,同时,选中子物体 Handle 后,去掉其 Image 勾选。这样就不显示滑块,也不能够使用鼠标操作。

通过代码实现自动控制图像的透明度,代码如下:

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class SliderValueChanged : MonoBehaviour { Slider slider; CanvasRenderer cr; // Start is called before t广电大流量卡he first frame update void Start() { slider = GetComponent<Slider>(); cr = GameObject.Find(“Image”).GetComponent<CanvasRenderer>(); cr.SetAlpha(0.0f); } // Update is called once per frame void Update() { slider.value = Mathf.MoveTowards(slider.value, 1, 0.002f); cr.SetAlpha(slider.valu广电大流量卡e); if (slider.value >= 1.0f) slider.value = 0.0f; } }

在上面的代码中,使用了 Mathf.MoveTowards 方法来实现进度条从左到右滑动;该方法的格式:

Mathf.MoveTowards(current:float, target:float, maxDelta:float):float

采用改变当前值向目标值靠近,返回值为改变后的值。


友情提醒: 请添加客服微信进行免费领取流量卡!
QQ交流群:226333560 站长微信:qgzmt2

原创文章,作者:sunyaqun,如若转载,请注明出处:https://www.dallk.cn/23929.html

(0)
sunyaqunsunyaqun
上一篇 2024年2月3日
下一篇 2024年2月3日

相关推荐

发表回复

登录后才能评论