Unity多級菜單的簡單例子


之前項目中需要一個樹狀的多級菜單,Unity Asset Store里也有些現成的插件,但是在將其修改成與項目中一致的風格比較難,於是就參考了一下成熟的插件,自己實現了一個樹狀菜單功能,這樣就可以使用自己的UI風格。

Unity的UGUI雖然使用簡單了,但是還是存在不少的Bug,如果按照常規的思路,把子節點設置為父節點的子物體,然后動態計算父節點的大小從而計算總的大小,Unity有現成的的ContentSizeFilter可以計算總的大小,但是嵌套使用進行布局的話出現布局錯亂的問題。

這個多級菜單實現的思路比較簡單,就是一個簡單的樹狀結構的深度優先遍歷,然后將其設置為ScrollView下同級的對象,父子節點的關系則由代碼進行維護,展開收起則直接進行SetActive操作,實際使用的效果還是可以的。

主要由兩個腳本組成:TreeViewNodeManager和TreeViewNode。

實現的效果圖如下所示:

 

示例的工程基於Unity5.5.2f,github地址為:

https://github.com/vbtang/TreeViewDemo.git


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM