最近做了一个科技树的功能,如上图树形结构,
一个节点有多个父节点/多个叶子节点,
要求叶子节点,整体在多个父节点的中间
算法思路是简单的,不过实现起来我是碰到了一堆问题,特别是递归导致卡死又得重启项目。
设置 root 的位置
布局叶子节点位置(由于每棵子树的宽度都不一致,必定导致叶子节点重合)
从最后一层开始,判断同一层相邻的叶子节点(n1,n2)是否重合,重合 移动 n1与n2共同的父节点下的n2的父节点 parentNode,向下一个yInterval间距.
由于移动了parentNode,parentNode的父节点中心就发生了偏移,所以中心对齐parentNode的父节点下的叶子节点...
https://blog.csdn.net/weixin_41316824/article/details/126487794?spm=1001.2014.3001.5501
2022-08-24 19:05:50
8KB
树布局
树结构
1