您的位置:首页 > 移动开发 > Unity3D

Unity3D -- (UGUI)Scrollbar

2016-01-05 16:10 716 查看
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 Recthandle控件
Direction滑动方向
Value滑动条初始值,范围0-1
Sizehandle部分的大小,范围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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: