【Unity3D】【NGUI】UIProgressBar

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

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

NGUI讨论群:333417608

概述


UIProgressBar是UISliderUIScrollBar的基类。但是你也可以用它来创建进度条——没有滑块的slider。



UIProgressBar用来实现功能的唯一需求就是设置一个Foreground widget。当UIProgressBar的Value是1(100%)的时候,这个foreground widget显示的就是它可填充的最大尺寸。

一个新的进度条只需要创建一个sliced sprite,指定它的width和height为300和20。

接着挂一个UIProgressBar脚本到这个sprite(就是背景)上,设置对应的Foreground。现在点击Play,之后在Inspector窗口里面调整value的值,你就能看到sprite会有相应的变化。

修改Direction属性来调整当value由0到1变化时,进度条的变化方向。

如果想让进度条可以有交互(拖动等),可以看UISlider。


在OnValueChange部分,你可以指定一个功能函数,这个函数会在进度条值变化的时候调用。比如你已经加了一个label,你可以在值变化的时候通过调用label的SetCurrentPercent函数,让label显示当前的进度值。 这个功能的实现方式就是把Label的game object拖动到Notify属性里,之后在下拉列表里面选UILabel.SetCurrentPercent就可以。

小贴士

进度条的foreground不一定非要用sprite。你可以用设置成“ClampContent”、Max Lines是1的UILable。当进度条值增大的时候,就会用UILabel的文本填充进度条。

类文档

http://tasharen.com/ngui/docs/class_u_i_progress_bar.html
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值