推广 热搜: page  音视频  使用  个数  选择  搜索引擎  父亲  百度  企业  可以 

【游戏开发解答】Unity使用lua将table转为树结构,以多级折叠内容列表的UI形式展现(树结构 | UGUI | 折叠展开 | lua)

   日期:2025-01-02     作者:ira0v    caijiyuan   评论:0    移动:http://ww.kub2b.com/mobile/news/18991.html
核心提示:一、前言我以为他是拿到一个纯文本数据,他不知道如何去解析,如果单纯是想解析数据,完全不需要使用树。 看

一、前言

我以为他是拿到一个纯文本数据,他不知道如何去解析,如果单纯是想解析数据,完全不需要使用树。
看格式的话是的,我们如果拿到一个纯文本数据,并且格式是的的格式的话,可以使用方法去执行纯文本得到一个对象,例

 
 

好了,现在就来讲讲具体怎么做吧~

:上面提到的是指我之前写的另一篇文章:【游戏开发实战】手把手教你在Unity中使用lua实现红点系统(前缀树 | 数据结构 | 设计模式 | 算法 | 含工程源码

二、Unity lua环境

三、树节点

1、创建脚本:TreeNode.lua
2、封装节点
 

四、树逻辑

1、创建脚本:TreeLogic.lua
 
2、构造测试数据

我们要构造一棵树,得先有数据,根据需求,数据就是一个,简单写一个

 
3、构造树

接着我们用测试数据去构造一棵树,我们封装一个方法,其实构造过程我们只需要把注意力放在一个节点的构造上即可,设置节点的名称、值,设置节点的父子节点关系,然后递归执行。
代码如下

 

接着,我们在方法中调用方法

 

到这里,我用了行左右的代码完成了节点的封装和树的构造,接下来就是树的显示了。

4、打印树

在做显示之前,我们不妨封装一个打印树的方法,验证一下我们的树结构

 

我们调用一下

 
 

五、使用UGUI显示树

1、制作界面预设
2、创建界面脚本:TreePanel.lua
3、展开节点(递归

封装一个张开节点的方法,里面我用到了递归,代码我写了注释,这里就不多解释啦

 

我们需要传入树的根节点,我们给添加一个方法

 

接着我们去调用方法,如下

 
4、关闭节点(递归

关闭节点也封装一个方法,依然使用了递归,如下

 

六、测试

七、更新(2022/03/25

本文地址:http://ww.kub2b.com/news/18991.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新文章
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新文章
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号