【Unity3D】【NGUI】UISlider

38 篇文章 3 订阅
21 篇文章 0 订阅

原文:http://www.tasharen.com/forum/index.php?topic=6715.0

NGUI讨论群:333417608

概述


UISlider组件可以用来创建一个简单的slider和进度条。继承了UIProgressBar的所有功能,之后增加了可选的滑块。



最简单的方式,UISlider用来实现功能的唯一需求就是设置一个用来修改的Foreground widget。这个widget的初始尺寸就是slider处理100%时候的尺寸(UISlider.value == 1.0)。widget缩放的方向取决于Derection的设置。

创建一个简单的slider,只需要先创建一个宽、高为200和40的sliced sprite。这个就是slider的背景——slider的Value为0时候看来的样子。 

之后增加一个子sliced sprite。这个sprite就是Value为1的时候看起来的样子。你可以把这个sprite封装到父节点里面,这样看起来更合理。

做完以上内容之后,挂一个UISlider给背景sprite,之后Foreground属性引用到第二个sprite。之后你点击Player之后调整slider的value值,你就会看到相应的变化。

如果要让slider可以交互,那增加一个Box Collider给它。如果想要让它可以被高亮,那么增加一个UIButton给它,之后把target属性指向他们中的一个。

可以通过替换Background为UIWidget来使背景不可见。

指定一个非0的值给Steps属性来确定slider的增长步长。比如Step设置为5,那么slider的值就是0%, 25%, 50%, 75% and 100%。

slider还可以增加一个滑块sprite。滑块的位置会一直在slider上面。可以在它上面增加高亮效果或者一个label,这个label会在slider值变化的时候跟着滑块移动。

OnValueChange属性可以指定功能函数,当slider的value变化的时候调用。最简单的就是增加一个UILabel,之后把这个label的game object拖拽到Notify属性里面,之后在下拉框里面选择UILabel.SetCurrentPercent。

小贴士

UIStretch放在前景上来让前景的大小跟着背景的变化而变化。

类文档

http://tasharen.com/ngui/docs/class_u_i_slider.html
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值