注意:本文翻譯時NGUI版本已經更新到3.0.7
原文地址:http://www.tasharen.com/forum/index.php?topic=7013
總覽
UIRect是所有Widgets和Panels繼承的基礎組件。你不能把它建立為一個組件,因為它是抽象類別。如果你想要某些東西是可見的,你應該建立Widget或Panel。
下面視頻展示不同anchor類型的表現:http://www.youtube.com/watch?v=P8JTTE0JBXQ
所有擁有可修改地區的NGUI元素能被固定到其它元素或者設定3D對象上。當選擇一個固定點(Anchor Point),你能決定是你所有邊都固定到同個對象上,還是不同對象上。選擇Unified只會給你選擇一個固定對象,Advanced則可以為每邊選擇一個固定對象。
為了固定一個掛件(Widget),把它移到一個想要放置的位置,選擇其中一個物體,並拖放一個你想要它固定到的目標到選項上。anchor的值就會被自動填滿。
為了設定一個掛件一直在另一個掛件裡面,讓它成為那個掛件的孩子結點並選擇Unified選項。為了使得你更方便,target widget將自動初始化設定並初始化值。你接著也能在情境視圖中像平常那樣調整widget,或者是修改選項。
每一邊的固定和其它邊是獨立的,而每一個邊你都需要選擇它會固定到哪3個位置上。例如對於Left和Right,他們有Left,Center,Right可選。如果不滿足你的需要,你可以選擇Custom並自己設定值。
Custom設定使用相對值工作。這個值是相對目標的大小,而且也可以讓你選擇使用其它widget或panel作為目標。
在Left或Right固定點上,0意味著最左,1意味著最右,0.5意味著中間。
選擇“Set to Current Position”將簡單設定它當前的位置,使用相對定位的百分比來設定。
如果你想要更多控制,或者你只想定位指定一邊,那你應該使用Advance 定位類型。同個Advanced模式,你能對每個錨點指定統一的target,有效控制將被定位的邊,而當你保留的原來設定的邊將保持不變。在上面的圖片上,我調整slider的拖柄,我選擇為Top和Bottom填充anchor,讓它們隨著slider的高度改變重設大小,但我留Left和Right保持None。這意味著重新設定slider的水平大小不會影響到拖柄。
最後但也是很重要的,你不需要指定widget或panel作為目標。你也能指定任何一個遊戲對象以便讓UI掛件跟隨它。
類文檔
http://tasharen.com/ngui/docs/class_u_i_rect.html
如果你有一些和這個組件相關的問題,也可以在下面討論。