出處:
ngui的層級關係有點複雜,這裡把從網上搜來的關於ngui層級深度的資訊合併到一起,算作是對ngui層級深度理解的乙個總結。
一、ngui層級關係與非層級關係
ngui層級關係就是建立時預設的那個層級關係,包括uiroot , camera , anchor,panel,非ngui層級關係是camera,然後在裡面建立控制項,但是camera要掛上uicamera 和uipanel指令碼。
二、關於ngui深度、層次總結(做過很多ngui介面後理解會更深刻)
1、同乙個panel下,同乙個atlas的不同sprite的顯示只受depth的控制,這是最經常用的方式。此時不論精靈的z軸如何變化,depth高的一定在前面。(相同atlas其實是共用同乙個z軸深度)
2、不同panel下,同乙個atlas的不同sprite不受depth的控制,而受z軸控制。此時只需稍微調節下其中乙個精靈的z軸就可以,比如0.1,就可以控制sprite的顯示
3、不同panel下,不同atlas的精靈的穿插,受z軸的控制。
4、同乙個panel下,不同atlas的sprite,受z軸控制,depth不起作用。
三、圖集
專案中做到複雜一些的介面,經常會用到多個圖集,以技能介面為例,專案中常用的放到共用圖集中, 這是乙個圖集,技能介面本身獨有的元素,比如跟技能職業相關的背景,算作第二個圖集,還有一些技能圖示, 圖示單獨歸類到乙個圖集中,再乙個就是字型的圖集。基本乙個介面如此分法,最多需要4個圖集。ngui的圖集之間的處理,預設是靠調整控制項的z值來區分的,但是這裡他可以調整同乙個圖集每個乙個控制項的z值,其實不是很好。經常會出現圖層相互遮擋的情況,尤其對於控制項比較多的介面,一段時間回過來再修改介面的時候,整個要崩潰。 我的做法是。在uipanel中,為每乙個material新增乙個layer的變數,當同一圖層靠depth來決定前後關係,不同圖層靠layer來決定前後關係,在繪製uidrawcall的時候,根據layer對跟節點做一定偏移。這樣就能從z值中解放出來。如果大家也有碰到圖層的問題,可以參考這樣的做法,以此種方法來處理圖層關係,簡單,做過專案的圈套ui,還未有不能解決的情況。
unity銷毀層級物體及 NGUI 深度理解總結
1.想找到層級面板中某個物體,並銷毀,利用下面的 gameobject obj gameobject.find 所要找的名字 destroy obj 如果要找的物體比較多,可以將找到的物體放在乙個陣列中,對於物體的名字如果是按照順序或者一定規律命名的話,也可以通過for迴圈統一找並賦值,例如 物體的...
unity銷毀層級物體及 NGUI 深度理解總結
1.想找到層級面板中某個物體,並銷毀,利用下面的 gameobject obj gameobject.find 所要找的名字 destroy obj 如果要找的物體比較多,可以將找到的物體放在乙個陣列中,對於物體的名字如果是按照順序或者一定規律命名的話,也可以通過for迴圈統一找並賦值,例如 物體的...
NGUI中深度depth和z軸關係
gui中是用depth來控制sprite顯示順序的,本來這很好用,但碰到上面帖子中的問題時卻不好解決了,於是我試驗了下。以下是一些總結,不對的地方請指正。下面的內容可能看起來比較繞,這樣的話只需實際試驗下就能很容易的知道結果,呵呵 如果還是看不明白,可以先看,那裡有個總結 1,同乙個panel下,同...