【Unity3D】【NGUI】UISlider

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