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

 更新时间:2022年11月08日 08:36:13   作者:芝麻粒儿  
这篇文章主要为大家介绍了Unity技术手册之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滑动器的资料请关注脚本之家其它相关文章!

相关文章

  • 基于WPF实现多选下拉控件的示例代码

    基于WPF实现多选下拉控件的示例代码

    这篇文章主要为大家详细介绍了WPF实现简单的多选下拉控件,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的小伙伴可以了解一下
    2023-02-02
  • C#中实现Fluent Interface的三种方法

    C#中实现Fluent Interface的三种方法

    这篇文章主要介绍了C#中实现Fluent Interface的三种方法,本文讲解了Fluent Interface的简单实现、使用装饰器模式和扩展方法实现Fluent Interface等3种实现方法,需要的朋友可以参考下
    2015-03-03
  • C#获取全部目录和文件的简单实例

    C#获取全部目录和文件的简单实例

    这篇文章介绍了C#获取全部目录和文件的简单实例,有需要的朋友可以参考一下
    2013-10-10
  • C# Redis学习系列(一)Redis下载安装使用

    C# Redis学习系列(一)Redis下载安装使用

    这篇文章主要为大家分享了C# Redis学习系列教程第一篇, Redis下载、安装、使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • C#基于Socket实现多人聊天功能

    C#基于Socket实现多人聊天功能

    这篇文章主要为大家详细介绍了C#基于Socket实现多人聊天功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • c#实现一个超实用的证件照换底色小工具(附源码)

    c#实现一个超实用的证件照换底色小工具(附源码)

    这篇文章主要给大家介绍了关于利用c#实现一个超实用的证件照换底色小工具的相关资料,通过这个小工具大家可以很方便的进行底色的切换,不用再因为底色的原因头疼了,需要的朋友可以参考借鉴,下面来一起学习学习吧。
    2018-01-01
  • 两路归并的数组与链表的实现方法

    两路归并的数组与链表的实现方法

    本篇文章对两路归并的数组与链表的实现方法进行了分析介绍。需要的朋友参考下
    2013-05-05
  • C#读写EXCEL单元格的问题实现

    C#读写EXCEL单元格的问题实现

    这篇文章主要介绍了C#读写EXCEL单元格的问题实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • C#如何生成唯一订单号

    C#如何生成唯一订单号

    这篇文章主要为大家详细介绍了C#如何生成唯一订单号,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • C# 中 TryParse如何将字符串转换为特定类型

    C# 中 TryParse如何将字符串转换为特定类型

    在 C# 中,TryParse 是一个用于将字符串转换为特定类型的方法,它用于尝试解析字符串并将其转换为指定类型的值,而不会引发异常,这篇文章主要介绍了C# 中 TryParse 将字符串转换为特定类型的方法,需要的朋友可以参考下
    2024-03-03

最新评论