Unity多级菜单的简单例子

Posted vbtang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity多级菜单的简单例子相关的知识,希望对你有一定的参考价值。

之前项目中需要一个树状的多级菜单,Unity Asset Store里也有些现成的插件,但是在将其修改成与项目中一致的风格比较难,于是就参考了一下成熟的插件,自己实现了一个树状菜单功能,这样就可以使用自己的UI风格。

Unity的UGUI虽然使用简单了,但是还是存在不少的Bug,如果按照常规的思路,把子节点设置为父节点的子物体,然后动态计算父节点的大小从而计算总的大小,Unity有现成的的ContentSizeFilter可以计算总的大小,但是嵌套使用进行布局的话出现布局错乱的问题。

这个多级菜单实现的思路比较简单,就是一个简单的树状结构的深度优先遍历,然后将其设置为ScrollView下同级的对象,父子节点的关系则由代码进行维护,展开收起则直接进行SetActive操作,实际使用的效果还是可以的。

主要由两个脚本组成:TreeViewNodeManager和TreeViewNode。

实现的效果图如下所示:

技术分享图片

 

示例的工程基于Unity5.5.2f,github地址为:

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

以上是关于Unity多级菜单的简单例子的主要内容,如果未能解决你的问题,请参考以下文章

使用Multiplayer Networking做一个简单的多人游戏例子-2/3(Unity3D开发之二十六)

使用Multiplayer Networking做一个简单的多人游戏例子-3/3(Unity3D开发之二十七)

使用Multiplayer Networking做一个简单的多人游戏例子-2/3(Unity3D开发之二十六)

使用Multiplayer Networking做一个简单的多人游戏例子-1/3(Unity3D开发之二十五)

使用Multiplayer Networking做一个简单的多人游戏例子-1/3(Unity3D开发之二十五)

Laravel 多级菜单不起作用