Unity3D -- (UGUI)Scrollbar

Unity3D中Scrollbar控件(滚动条控件)分为水平滚动条(HorizontalScrollbar)和垂直滚动条(VerticalScrollbar)。其用法也是一样的。官方简介网址:file:///Applications/Unity/Unity.app/Contents/Documentation/en/Manual/script-Scrollbar.html
我在实际项目中使用Scrollbar做视频播放的进度条,感觉使用起来还不错。创建一个Scrollbar控件,包括了下图部分。一个Scrollbar父组件,一个Sliding Area滑动区域,一个可以滑动的Handle。


滑动条长相



Interactable 是否接受输入
Transition 点击Handle过渡方式,有颜色过渡,图片过渡,动画过渡。
Navigation
控制序列的属性
Handle Rect handle控件
Direction 滑动方向
Value 滑动条初始值,范围0-1
Size handle部分的大小,范围0-1
Number Of Steps 通过滚动条允许不同的滚动位置的数字

代码实现:

    void Start () 

    {
        scrollbar = GetComponentInChildren<Scrollbar> ();
    }

    public void SetScrollbarProgress(float timer = 0, int count = 0)
    {
        if (timer == 0) {
            m_Playing = true;
        } else {
            m_Playing = false;
            scrollbar.value = 0;
            m_TimerCount = count * timer * 1.7f;
        }
    }

    void LateUpdate()
    {
        if (m_Playing) {
            scrollbar.value += Time.deltaTime / m_TimerCount;
        }
    }
外部调用SetScrollbarProgress传进两个参数,一个是单步时间,一个是总步数,利用这两项得到总时间,在LateUpdate中让scrollbar的value值增加,每次增加Time.deltaTime / m_TimerCount可以让进度刚好符合需要的时间。


--Rocky





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值