UI树:
参考文章:
https://blog.csdn.net/qq_28290581/article/details/52165343
渲染顺序之localzorder,globalzorder,zorderofArrival
前两个值默认为0,zorderofArrival是addchild添加时赋值的越后面的越大,越在最后渲染
globalzorder>localzorder>zorderofArrival
localzorder是在ui树种的逻辑深度,所以当采用LocalZOrder作为节点渲染(绘制)顺序的判断值时,父节点的LocalZOrder不与子节点的LocalZOrder值作比较。
子节点中LocalZOrder值小于0的节点作为以父节点为根节点的树的左子树的根节点,大于0的作为右子树的根节点。所以在中序遍历下,先(渲染)绘制子节点中LocalZOrder值小于0的子节点,再渲染(绘制)父节点,再渲染LocalZOrder值大于0的子节点。
cococ渲染是树状结构,同级的节点层级是和同级的相比的,就像Node1.Node2.Node3.Node4.Node5,调整Node1的节点,也只会改变同层的Node层级栈
而子节点都是基于父节点的,就像我改变了Node6的层级,也只是在Node6,Node7,Node8之间做调整,不会影响到父节点的层级关系:如果Node1在第一分支中层级是最低的,那么就算Node6层级为9999,那也只是在Node1下的子节点有用,Node2等等的子节点层级也会在Node1之上
元素的绘制顺序还影响着事件分发,按照绘制的倒序来分发(coa)时间