1. 程式人生 > >【Unity3D】【NGUI】UIToggle

【Unity3D】【NGUI】UIToggle


Toggle是一個有兩種狀態的元件:開,關。可以用來建立checkboxes、tabs還有radio按鈕,或者其他類似的東西。



Toggle是一個非常棒的元件,可以用來做很多事情。和大多數NGUI控制元件一樣,它的靈活性很高。通過和其他的指令碼組合來實現想要的功能。 

Toggle本身可以淡入淡出目標物體。通常”object“就是一個checkmark、高亮的sprite、或者其他能夠表明啟用狀態(被選中的狀態)的東西。

最簡單的checkbox,就是建立兩個sprite——一個背景,一個前景(通常是背景的子節點)。對於背景,讓它看起來像個按鈕,前景讓它看起來像是選中的的樣子。

將UIToggle指令碼掛在父節點(就是背景)上,然後把前景放到UIToggle的
Sprite引數上。一個checkbox就做好了。

把Group ID設定成非0的話,你就做成了Radio Button。先做一個checkbox,之後指定Group ID,然後複製一些checkbox出來即可(選擇一個checkbox之後使用複製快捷鍵ctrl+d)

建立一個Animation可以讓checkmark的變換更平滑,或者直接在Checkmark上掛一個Animation元件,然後這個Animation引用”Checkmark“(NGUI自帶的)動畫clip,最後將這個Animation引用到Toggle的Animation屬性裡即可。 

勾選Starting State來讓這個按鈕成為預設選中狀態。


小貼士

使用Toggle建立tab功能。建立兩個sprite,一個在另一個上面。首先建立一個暗一點的sprite,然後給它增加一個亮一些的子sprite。在較暗的sprite上掛上Toggle指令碼,然後把toggle的Sprite用亮一些sprite指定。之後指定Group ID(非0),複製一些做好的tab。tab按鍵就做成了。
之後與UIToggledObjects指令碼一起使用,用來在tab被選中時開啟或者關閉一些panel,這樣看起來就像是multi-tabbed視窗了。

類文件

http://tasharen.com/ngui/docs/class_u_i_toggle.html