iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Unity技术手册之Slider滑动器使用实例详解
  • 427
分享到

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

Unity技术Slider滑动器Unity Slider 2022-11-13 19:11:27 427人浏览 泡泡鱼
摘要

目录?实践过程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滑动器的资料请关注编程网其它相关文章!

--结束END--

本文标题: Unity技术手册之Slider滑动器使用实例详解

本文链接: https://www.lsjlt.com/news/170959.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作