今天踩了一个坑,我在设置层级时,同一层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

Logo

这里是一个专注于游戏开发的社区,我们致力于为广大游戏爱好者提供一个良好的学习和交流平台。我们的专区包含了各大流行引擎的技术博文,涵盖了从入门到进阶的各个阶段,无论你是初学者还是资深开发者,都能在这里找到适合自己的内容。除此之外,我们还会不定期举办游戏开发相关的活动,让大家更好地交流互动。加入我们,一起探索游戏开发的奥秘吧!

更多推荐