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