今天踩了一个坑,我在设置层级时,同一层Node中将一个Node;Node1有需求设置为了99999(原本为0),也就是显示为最高层,随后需求完成后设置为0,返还回去,发现效果没有变,最后发现cocos的层级管理有点东西,为避免后人采坑,作下文:
cococ渲染是树状结构,同级的节点层级是和同级的相比的,就像Node1.Node2.Node3.Node4.Node5,调整Node1的节点,也只会改变同层的Node层级栈
而子节点都是基于父节点的,就像我改变了Node6的层级,也只是在Node6,Node7,Node8之间做调整,不会影响到父节点的层级关系:如果Node1在第一分支中层级是最低的,那么就算Node6层级为9999,那也只是在Node1下的子节点有用,Node2等等的子节点层级也会在Node1之上
而cocos 渲染顺序是加入Node的时候没有设置层级,则层级默认为0,再往后加Node,也都是0,但是后面的Node会在top,所以我在设置回0的时候,cocos是默认放在同层的层级都为0的最后的,也就是在top。可以看成一个层级栈,此时我设置任一同一层级的Node为1,那么这个Node在同一层级中是top