我所理解的cocos2dx

UI树:

参考文章:

https://blog.csdn.net/qq_28290581/article/details/52165343

https://blog.csdn.net/qq_42428486/article/details/102851567?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_v2~rank_aggregation-1-102851567.pc_agg_rank_aggregation&utm_term=cocos+%E6%B8%B2%E6%9F%93%E5%B1%82%E7%BA%A7&spm=1000.2123.3001.4430

渲染顺序之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)时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值