【Unity3D】【NGUI】UIProgressBar

原文: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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章