【Unity3D】UGUI之Slider
1 Slider属性面板在 Hierarchy 窗口右键,选择 UI 列表里的 Slider 控件,即可创建 Slider 控件,选中创建的 Slider 控件,按键盘【T】键,可以调整 Slider 控件的大小和位置。
创建 Slider 控件时,系统会自动为其创建 3 个 Image 子控件和 2 个 Empty 控件,如下:
Background:Image 控件,滑动条最底层的背景
Fill Area:Empty 控件,用于限制圆圈左边的填充部分区域
Fill:Image 控件,圆圈左边区域的背景
Handle Slide Area:Empty 控件,用于限制圆圈的区域
Handle:Image 控件,圆圈的背景
Slider 控件的属性面板如下:
Direction:滑动条朝向,取值有:Left To Right、Right To Left、Bottom To Top、Top To BottomMin Value:滑动条取值最小值Max Value:滑动条取值最大值Whole Numbers:是否取整数Value:滑动条当前取值
2 Slider 注册事件
点击 OnValueChanged 下面的 “+” 号,可以为选择框添加响应事件,可以添加多个事件。
1)注册已有组件的方法
点击 OnValueChanged 下面的 “+” 号,将 Slider 下面的 Background 拖拽到 OnValueChanged 面板里,选择 GameObject.name,下方文本设置 "bg",如下:
拖动滑动条,Background 会重命名为 “bg”,如下:
2)注册脚本组件里面的方法
给 Slider 控件添加 SliderController 脚本组件如下:
SliderController.cs
using UnityEngine;using UnityEngine.UI;public class SliderController : MonoBehaviour { public void OnSlide1() { Debug.Log("Slide1"); } public void OnSlide2(string msg) { Debug.Log("Slide2, msg=" + msg); } public void OnSlide3(float value) { Debug.Log("Slide3, value=" + value); }}
注意:待注册的方法,最多只能提供 1 个参数, 当参数为 float 类型时,入参表示滑动条的数值(value)。
点击 OnValueChanged 下面的 “+” 号,将 SliderController 脚本组件拖拽到 OnValueChanged 面板里,选择 SliderController.OnSlide1 方法;再点击 OnValueChanged 下面的 “+” 号,将 SliderController 脚本组件拖拽到 OnValueChanged 面板里,选择 SliderController.OnSlide2 方法,其下方输入"xxxx";点击 OnValueChanged 下面的 “+” 号,将 SliderController 脚本组件拖拽到 OnValueChanged 面板里,选择 SliderController.OnSlide3 方法。如下:
拖动滑动条,打印日志如下:
3)代码里注册事件
给 Slider 控件添加 SliderController 脚本组件如下:
SliderController.cs
using UnityEngine;using UnityEngine.UI;public class SliderController : MonoBehaviour { private void Start() { Slider slider = GetComponent<Slider>(); slider.onValueChanged.AddListener(OnValueChanged); } public void OnValueChanged(float value) { Debug.Log("OnValueChanged, value=" + value); }}
注意:AddListener 方法里只能添加入参为 float 类型的方法,可以添加多个方法。
拖动滑动条,打印日志如下:
声明:本文转自【Unity3D】UGUI之Slider
页:
[1]