用ngui做介面的時候,當介面很多很多的時候,我們需要一套管理ui層的系統,所以介面預設例項化完之後,需要設定一下uipanel的depth,規則是什麼呢?首先,可以先做乙個歸類,假設我們把所有的介面分成4個大層:baseui,effectui,windowui,topui。
假設我們使用depth,可以定義好4個大層的depth範圍,比如:
baseui:0~10000
effectui:10001~20000
windowui:20001~30000
topui:30001~40000
假設我們示例化完乙個介面預設,它是在baseui層的,那麼我們可能設定它的depth為8,然後又有乙個baseui層的介面要顯示,如果我們用累加的形式,那麼它的depth是9,這樣不斷下去,那麼有可能baseui的介面的depth會跨入到effectui層中。
如果有二級排序就可以解決了,比如在depth的基礎上,有乙個layerofui作為二級排序。
接下來,我們就來改造uipanel,首先,uipanel類中新增乙個mlayerofui變數和乙個layerofui屬性
[hideininspector][serializefield] int mlayerofui = 0;
public int layerofui
set }}
然後再改一下uipanel類的comparefunc介面
static public int compairefunc(uipanel a, uipanel b)
return 0;
}
好了,接下來,為了方便在inspector中設定,我們再改下uipanelinspector
在shoulddrawpropertises函式中新增layerofui的編輯ui繪製
protector override bool shoulddrawproperties()
}guilayout.endhorizontal();
...}
效果如下
這樣,我們就可以設計depth了
baseui:0
effectui:10001
windowui:20001
topui:30001
他們的layerofui可以從0一直往上加,而不會出現跨層的問題
適配de的原理
一定要全部寫的是5得尺寸,我的適配的縮放係數都是除以5的寬 和高最後得到的係數,所以犯迷糊的時候一定記得是按照5的尺寸通過cgrectmake的方法得到其他螢幕的尺寸,相當於同比例的增大。螢幕適配的傑作 還得複習cell的headerview的寫法,自定義的函式,明天可以看看談談其他地方定義的ttd...
ngui中scrollview的使用
uiscrollview製作滑動列表,可橫向,豎直展示一些列表在固定可視範圍內 uiscrollview只是乙個可滑動的ui元件 如果需要製作複雜的可視區域ui需要配合使用uipanel與uigrid 這樣更方便ui的展示 a.建立乙個2d ui root,在ngui選單上建立乙個scroll vi...
UGUI跟NGUI的異同
雖然ugui出了已經由一段時間了,但現在的大部分公司還是用ngui居多,我現在在複習ngui,因為之前都是用ugui dotween來開發,最近複習ngui起來有點懵,不過兩者還是有相同的地方的,這篇博文主要講一下我目前遇到過的異同之處,也是留給以後的自己用於記憶吧,哈哈。這篇博文可能會不定時修改,...