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. c#下使用WM_COPYDATA

    [DllImport("User32.dll")] public static extern int SendMessage(IntPtr hwnd, int msg, int w ...

  2. [转帖]nginx反向代理时保持长连接

    https://www.cnblogs.com/liufarui/p/11075630.html ·[场景描述] HTTP1.1之后,HTTP协议支持持久连接,也就是长连接,优点在于在一个TCP连接上 ...

  3. [转帖]TiKV Config Learn the TiKV configuration file

    The TiKV configuration file supports more options than command-line parameters. You can find the def ...

  4. SPECCPU2006的学习与使用

    SPECCPU2006的学习与使用 摘要 这个周末问题不是很多, 陪孩子写作业时顺便研究了下SPEC2006 虽然比较落后了. 但是总比没有要强一些. 其实集团有资源, 但是联系不到人, 只能自己学习 ...

  5. [转帖]Linux命令拾遗-%iowait指标代表了什么?

    https://www.cnblogs.com/codelogs/p/16060759.html 简介# 一直以来,我都知道top.vmstat.mpstat中有一个叫wa(%iowait)的cpu指 ...

  6. 最小化安装的CentOS7 上面安装Oracle12C的简单过程

    首先声明自己对静默安装不熟,也害怕初问题,所以不使用静默安装的方式. 因为是最小化安装,所以必须安装GUI界面才可以,以下是过程(早上回忆的,全文字,无截图) 1. 安装GUI界面 yum group ...

  7. MySQL批量执行SQL修改视图属主的办法

    前人挖坑 后人填坑 Study From https://blog.csdn.net/carefree2005/article/details/109812943 第一步: 形成SQL select ...

  8. Docker容器基础入门认知-Cgroup

    在上一篇说完 namespace 给容器技术提供了隔离之后,我们在介绍一下容器的"限制"问题 也许你会好奇,我们不是已经通过 Linux Namespace 给容器创建了一个容器了 ...

  9. js加减乘除运算出现精度丢失

    做乘法运算出现精度丢失 let aa= 2106.49 console.log( aa*10000 ) //21064899.999999996 console.log( Math.round(aa* ...

  10. SqlSugar多库/多租户

    1. 多库和多租户 如果是接口ISugarClient先看一下标题6,看完在看这儿 1.1 固定多数据库模式 数据库数量是固定的一般在声明的全部加上 //通过ConfigId进行数据库区分 var d ...