NGUI:UIAnchor

這個元件在NGUI3.0.7版中已經過時,Widgets Panels 有一個新的定位部分。

概觀:

UIAnchor讓定位遊戲物件變成可能,他能將遊戲物件定位在螢幕或是其他widgets 的邊緣或是角落。這是一個關鍵元件,在NGUI3.0.6或是更早的板中,你應該使用它來建立模組化的UIs。

  

你曾經想過讓UI的一部分一直貼在螢幕的角落或是邊緣媽。以WOW來說,在這個遊戲中,不管你使用何種解析度,地圖總是會在螢幕的右上角,而快速鍵總是貼在螢幕的下方。要怎麼才能做出類似的東西?當然!就是使用anchors。

NGUI預設的UI布局中就已經幫你放進了一個anchor在裡面—他是個置中的anchor。一樣以WOW的UI為例子,你需要在加兩個anchor進去。一個anchor要設定成TopRight ,而另外一個要設定成Bottom。然後你就可以在他們裡面加入子widgets,此時當你的螢幕大小改變時,你的UI依然能正確地放在你想要放的地方。

你也可以藉由指定Container的值,讓anchors 能把UI貼到到其他的UI中。假如你把container指到一個UIWidget ,此時該widget的尺寸將取代螢幕的四邊形。假如是指到一個遊戲物件,所有在其下的widgets的邊界的總和都會被使用到。因為這個理由,當你把父遊戲物件指定給一些widget 中的anchor的container時,就要很小心,因為他的總合包含了widget本身,這可能不是你想要的結果。

你可以調整相對位移(Relative Offset)來相對性的改變位置。當X為1時,代表著是container寬度的100%。Y為1時,代表container高度的100%。0.5則是50%,以此類推。你也可以指定負值,假如你想要的話。

使用畫素位移(Pixel Offset)來代替可能會比較簡單。就像是你能猜到的—anchor的位置會根據指定的X與Y來進行位移。

預設情況下,anchor只會執行一次,然後就把自己給關閉掉。他一樣還是會在螢幕大小改變時做出反應,但也就只是這樣。假如你想要anchor的數學每次更新都被執行,那就關掉只執行一次(Run Only Once)選項。

新手提示:

你可以把stretch 腳本跟anchors 結合在一起來建立模組化的UIS。
http://www.youtube.com/watch?v=q1C5NwZasGs

類別文件:

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

本頁面是翻譯官方網頁的文件:UIAnchor

 
 

  按個讚!~支持本站!~

FB推薦載入中