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 Bottom
  • Min 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

【Unity3D】UGUI之Slider的更多相关文章

  1. Unity3d UGUI 通用Confirm确认对话框实现(Inventory Pro学习总结)

    背景 曾几何时,在Winform中,使用MessageBox对话框是如此happy,后来还有人封装了可以选择各种图标和带隐藏详情的MessageBox,现在Unity3d UGui就没有了这样的好事情 ...

  2. Unity3D UGUI之ScrollView弹簧效果

    unity3d版本5.3.2p4 UGUI中ScrollView包含Viewport(Content) ScrollView包含脚本.其Movement Type一共3个选项.Elastic就是弹簧效 ...

  3. UGUI之Slider使用,制作血条

    用Slider来控制Cube旋转 Slider是滑动条.

  4. Unity3D UGUI下拉菜单/Dropdown组件用法、总结

    Unity3D中UGUI实现下拉菜单 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  5. Unity3D - UGUI的手动搭建

    了解UGUI组件的搭建方式,有助于搭建我们自己的UI界面. Text 文本 text 是UGUI中的基本控件,在Hierarchyi面板创建一个空物体 - 给这个空物体添加一个Text组件即可实现与t ...

  6. Unity3d uGUI适配

    Cavas: 1.Render Model设置为:Screen Space- Camera.如果想在UI前面加特效我可以在创建一个摄像机(UIForward)深度大于这个UICamera就行了. 2. ...

  7. Unity3D UGUI学习系列索引(暂未完成)

    U3D UGUI学习1 - 层级环境 U3D UGUI学习2 - Canvas U3D UGUI学习3 - RectTransform U3D UGUI学习4 - Text U3D UGUI学习5 - ...

  8. Unity3D UGUI窗口拖拽

    在开发UGUI时 我们时常需要做一个窗口拖拽的功能 先上代码 using UnityEngine; using UnityEngine.EventSystems; public class DragW ...

  9. Unity3D UGUI强制刷新Layout(布局)组件

    UGUI的Layout布局组件确实节省了我们很多代码 如果不使用Layout组件 那么光在计算UI的布局上就要花费很大的功夫 特别是动态生成其组件的时候 当然,Layout组件在大多数时候是非常好用的 ...

  10. Unity3D UGUI实现Toast

    项目中有些信息需要以Toast的形式体现出来,不需要交互,弹出后一段时间后消失,多个Toast会向上重叠,下面是一个UGUI Toast的实现,动画部份用到了Dotween来实现 首先需要制作Toas ...

随机推荐

  1. Laravel : 模糊查询 where orWhere

    Banner::where('title', 'like', "%{$keyword}%")->orWhere('introduce', 'like', "%{$k ...

  2. [转帖]linux中top性能分析工具中的TIME+

    top命令的TIME/TIME+是指的进程所使用的CPU时间,不是进程启动到现在的时间,因此,如果一个进程使用的cpu很少,那即使这个进程已经存在N长时间,TIME/TIME+也是很小的数值. 此外, ...

  3. [转帖]oracle 11.2.0.4 rac集群等待事件enq: TM - contention

    近期,一金融客户oracle 11.2.0.4 rac集群delete不当导致等待事件enq: TM - contention严重引起大范围会话堆积,记录的相关分析工作如下. 1.登录集群任意节点,查 ...

  4. [转帖]Full GC (Ergonomics) 产生的原因

    发生Full GC,有很多种原因,不仅仅是只有Allocation Failure. 还有以下这么多: #include "precompiled.hpp" #include &q ...

  5. [转帖]Linux系统语言设置和locale命令详解

    简介 Linux系统可以用locale命令查看语言设置,查看中英文环境,具体操作如下. 操作 1.查看当前安装有那些语言: [root@localhost /]# locale -a 2.当前语言相关 ...

  6. [转帖]微服务集成skywalking实现全链路日志追踪方案

    目录 1.安装部署skywalking 1.1 环境准备 1.2 部署步骤 2.微服务整合skywalking实现链路监控 2.1 下载skywalking官方版本 2.2 将微服务引入skywalk ...

  7. [转帖]Nginx 性能测试

    https://plantegg.github.io/2022/10/10/Nginx%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95/ 压测工具选择 wrk ,apache ...

  8. Gorm实战,轻松掌握数据库增删改查技巧!

    Gorm实战,轻松掌握数据库增删改查技巧! CRUD通常指数据库的增删改查操作,本文详细介绍了如何使用GORM实现创建.查询.更新和删除操作. 目录 Gorm实战,轻松掌握数据库增删改查技巧! 一.C ...

  9. SpringBoot实现动态数据源配置

    场景描述: 前一阵子接手的新项目中需要使用2个数据源. 一个叫行云数据库,一个叫OceanBase数据库. 就是说,我有时候查询要查行云的数据,有时候查询要查 OceanBase 的数据,咋办? 废话 ...

  10. NLP国内外大模型汇总列表[文心一言、智谱、百川、星火、通义千问、盘古等等]

    NLP国内外大模型汇总列表[文心一言.智谱.百川.星火.通义千问.盘古等等] 中国大模型列表大全,全面收集有明确来源的大模型情况,包括机构.来源信息和分类等,随时更新. Awesome family ...