Unity技术手册之Slider滑动器使用实例详解

目录
  • 实践过程
  • Slider其他参数

实践过程

为了方便更多的人(新手)看明白,使用的汉字,真实项目尽量使用英文规则昂。

该控件通常可以用于技能冷却或者人物血条或者游戏里面设置功能的各种滑动条。

我们在Hierarchy窗口中右键(UI-Slider)创建一个滑动条(如下图)。会发现有五个子物体,其实主要的是Background和Fill以及Handle,另外两个带Area的是为了做宽高适配,一直填充满父物体Slider。

Background便是默认的滑动条底图或底色。Fill是滑动进度的填充效果,Handle是滑动块。Slider物体有个Slider组件,除了默认的Transition(和Button中的一样)还有Fill Rect和Handler Rect。Fill Rect用来指定滑动后的填充,也就是Fill物体,Handler Rect是用来设置滑动块的。

特别声明:Background、Fill、Handle其实都是Image组件,带有Image的所有属性及特点,加上里面的Image Type,可以充分利用起来玩出花样。

Slider其他参数

Direction(方向):可以修改滑动方向,默认是从左到右,还有右到左,上到下,下到上。看下方Gif。

Min Value & Max Value:最小值和最大值。最小值最大值有助于数字化滑动的效果,比如血条的实现,就可以设置为最小值0,最大值100。

Whole Numbers:表示滑动过程为整数(默认不勾选,滑动进度带有小数),如果设置大小分为是0-1则不会有缓缓填充进度效果。当设置的大小范围最大值大于1的时候,滑动不会出现小数值。

Value:当前所处进度,范围在Min Value和Max Value之间。

设置监听事件有两种:

public class TestSlider : MonoBehaviour
{
    private void Start()
    {
        //代码形式添加
        gameObject.GetComponent<Slider>().onValueChanged.AddListener(SliderChange);
    }
    //外面Unity编辑器中选择指定
    public void SliderChange(float value)
    {
        Debug.Log("注意一定要选择Dynamic float下的方法名,滑动的进度" + value);
    }
}

如果你想添加进度条开始拖动的瞬间。以及结束拖动的瞬间  可以自定义一个Slider。

也可以直接继承IBeginDragHandler,IEndDragHandler,两种方法。 方法一

public class TestSlider : MonoBehaviour,IBeginDragHandler,IEndDragHandler
{
    private void Start()
    {
        //代码形式添加
        gameObject.GetComponent<Slider>().onValueChanged.AddListener(SliderChange);
    }
    //外面Unity编辑器中选择指定
    public void SliderChange(float value)
    {
        Debug.Log("注意一定要选择Dynamic float下的方法名,滑动的进度" + value);
    }
    public void OnBeginDrag(PointerEventData eventData)
    {
        Debug.Log("开始拖动" + eventData.button);
    }
    public void OnEndDrag(PointerEventData eventData)
    {
        Debug.Log("结束拖动" + eventData.position);
    }
}

方法二 自定义Slider就需要Unity编辑器中的物体挂载你自定义的脚本了。

public class TestSlider : MonoBehaviour
{
    private void Start()
    {
        //代码形式添加
        gameObject.GetComponent<CustomSlider>().onValueChanged.AddListener(SliderChange);
        gameObject.GetComponent<CustomSlider>().beiginDrag = OnSliderDragBegin;
        gameObject.GetComponent<CustomSlider>().endDrag = OnSliderDragEnd;
    }
    private void OnSliderDragBegin()
    {
        Debug.Log("开始拖动");
    }
    private void OnSliderDragEnd()
    {
        Debug.Log("结束拖动");
    }
    //外面Unity编辑器中选择指定
    public void SliderChange(float value)
    {
        Debug.Log("滑动的进度" + value);
    }
}

以上就是Unity技术手册之Slider滑动器使用实例详解的详细内容,更多关于Unity技术Slider滑动器的资料请关注我们其它相关文章!

(0)

相关推荐

  • Unity 实现框选游戏战斗单位的思路详解

    目录 Preface 实现思路: 如何在屏幕坐标系内绘制框选框 根据框选范围定位其在世界坐标系中对应的区域

  • Unity 数据存储和读取的方法汇总

    目录 数据场景 PlayerPrefs 序列化与反序列化 Json XML 在 Unity 中实现对游戏数据存储和读取的方法主要有这几种: 使用本地持久化类 PlayerPrefs 使用二进制的方法序列化和反序列化(Serialize / Deserialize) 使用 Json 方法 使用 XML 方法 数据场景 在 Demo 中分别使用这四种方法实现面板上数据的存储和读取 创建一个 Data 脚本用来序列化和反序列化,需要向这个类中添加需要保存的数据,最后也是需要从这个类中读取保存的数据 需

  • Unity技术手册之Button按钮使用实例详解

    目录 实践过程 Color Tint-表示颜色过度 Sprite Swap-表示精灵过度 Animation-动画 实践过程 为了方便更多的人(新手)看明白,使用的汉字,真实项目尽量使用英文规则昂. 创建Button按钮很简单,在Hierachy面板中直接右键找到UI-Button即可.创建后我们可以看到Button其实就是挂载了一个Image组件一个Button组件,顺便携带一个Text子物体. 其中Image组件的属性,小空之间有单独介绍过,在这不赘述了.我们详细看Button组件中的内容,

  • Unity InputFiled TMP属性和各种监听示例详解

    目录 实践过程 Input Field Settings Control Settings InputField(TMP)事件监听 实践过程 Input Field Settings Font Asset:字体文件资源 Point Size:控制的字大小 Character Limit:字符限制,当输入内容超过指定数量,不再接收新输入的内容.通常用户登录页面我们都会限制不要输入太多. Content Type:输入类型(Standard--标准,可以输入任何字符:Auto corrected--

  • Unity输出带点击跳转功能的Log实现技巧详解

    目录 正文 不带点击跳转的Log 带点击跳转的Log 正文 在平常的Unity开发过程中,可能会遇到如: 1.使用Debug.Log替代输出异常信息: 2.调试代码时,源代码在try{}代码块内有较多或深层的调用: 3.想在输出的Log中提示或是引导其他开发人员打开指定的脚本等情景. 在上述情景中,Debug.Log输出的Log一般都是不带点击跳转功能的,使得我们需要在长长的Log中寻找目标文件,然后再对照着文件名,方法名在IDE中点开,并不是很方便. 不带点击跳转的Log public sta

  • Unity TextMeshPro实现富文本超链接默认字体追加字体

    目录 实践过程 富文本 超链接脚本 3D中使用 设置默认字体 追加额外字符 实践过程 富文本 芝麻粒儿提醒:标签是成对出现的就不要省略,有的不是成对的在修改了后就恢复过来,如下方alpha示例,否则多了很容易出现意外的错误效果. 芝麻粒儿提醒: <b>粗体标签</b> <i>斜体标签</i> <u>下划线标签</u> <s>删除线标签</s> <sup>上标标签</sup>前面后面上标签

  • Unity实现卡片循环滚动效果的示例详解

    目录 简介 定义卡片的摆放规则 调整卡片的层级关系 调整卡片的尺寸大小 动态调整位置.层级和大小 移动动画 按钮事件 简介 功能需求如图所示,点击下一个按钮,所有卡片向右滚动,其中最后一张需要变更为最前面的一张,点击上一个按钮,所有卡片向左滚动,最前面的一张需要变更为最后一张,实现循环滚动效果. 最中间的一张表示当前选中项,变更为选中项的滚动过程中,需要逐渐放大到指定值,相反则需要恢复到默认大小. 实现思路: 定义卡片的摆放规则: 调整卡片的层级关系: 调整卡片的尺寸大小: 卡片向指定方向移动,

  • Unity技术手册之Slider滑动器使用实例详解

    目录 实践过程 Slider其他参数 实践过程 为了方便更多的人(新手)看明白,使用的汉字,真实项目尽量使用英文规则昂. 该控件通常可以用于技能冷却或者人物血条或者游戏里面设置功能的各种滑动条. 我们在Hierarchy窗口中右键(UI-Slider)创建一个滑动条(如下图).会发现有五个子物体,其实主要的是Background和Fill以及Handle,另外两个带Area的是为了做宽高适配,一直填充满父物体Slider. Background便是默认的滑动条底图或底色.Fill是滑动进度的填充

  • 微信小程序 监听手势滑动切换页面实例详解

    微信小程序 监听手势滑动切换页面实例详解 1.对应的xml里写上手势开始.滑动.结束的监听: <view class="touch" bindtouchstart="touchStart" bindtouchmove="touchMove" bindtouchend="touchEnd" ></view> 2.js: var touchDot = 0;//触摸时的原点 var time = 0;// 时

  • python装饰器使用实例详解

    这篇文章主要介绍了python装饰器使用实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python装饰器的作用就是在不想改变原函数代码的情况下,增加新的功能.主要应用了python闭包的概念,现在用1个小例子说明 import time def foo(): time.sleep(1) def bar(): time.sleep(2) def show_time(f): def inner(): start_time = time.t

  • python函数装饰器用法实例详解

    本文实例讲述了python函数装饰器用法.分享给大家供大家参考.具体如下: 装饰器经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解决这类问题的绝佳设计, 有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用.概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能. #! coding=utf-8 import time def timeit(func): def wrapper(a): start = time.clock() func

  • Android开发中滑动分页功能实例详解

    本文实例讲述了Android开发中滑动分页功能.分享给大家供大家参考,具体如下: android UI 往右滑动,滑动到最后一页就自动加载数据并显示 如图: Java代码: package cn.anycall.ju; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import andro

  • 微信小程序 页面滑动事件的实例详解

    微信小程序--页面滑动事件 wxml: <view id="id" class = "ball" bindtap = "handletap" bindtouchstart = "handletouchtart" bindtouchmove="handletouchmove" bindtouchend="handletouchend" style = "width : 10

  • Android持久化技术之文件的读取与写入实例详解

    本文实例分析了Android持久化技术之文件的读取与写入操作.分享给大家供大家参考,具体如下: 1.文件存储 (1)在Android的持久化技术中,文件存储是最基本的一种数据存储方式. (2)对存储的内容部做任何处理,原样存储到文件中. (3)Context提供了文件写入与读取的方法,openFileOutput:写入到文件:openFileInput:从文件中读取. (4)文件写入时模式有多种:比如是覆盖写入还是追加写入等. (5)写入的文件默认存储在/data/data/报名/files/目

  • Android编程之滑动按钮事件实例详解

    本文实例讲述了Android滑动按钮事件.分享给大家供大家参考,具体如下: 今天纪录一下滑动按钮功能.. 首先效果图: 然后是分别建立三个文件,第一个是main.class,第二个是SlipButton.class,第三个是 onchangeListener.class main.class import Android.app.Activity; import android.os.Bundle; import android.widget.Toast; public class Main e

  • android短信管理器SmsManager实例详解

    本文实例为大家分享了android短信管理器SmsManager的具体代码,供大家参考,具体内容如下 需要注册的权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.SEND_SMS"/> 群发短信 package com.android.xiong.grou

  • Python闭包和装饰器用法实例详解

    本文实例讲述了Python闭包和装饰器用法.分享给大家供大家参考,具体如下: Python的装饰器的英文名叫Decorator,作用是完成对一些模块的修饰.所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小装饰(小功能)侵入到原有的模块中的代码里去. 闭包 1.函数引用 #coding=utf-8 def test1(): print('This is test1!') #调用函数 test1() #引用函数 ret = test1 #打印

随机推荐