找回密码
 立即注册
查看: 240|回复: 0

【Unity3D】UGUI之Slider

[复制链接]
发表于 2023-2-23 09:21 | 显示全部楼层 |阅读模式
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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-6-22 16:38 , Processed in 0.088553 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表