cocos2dx——节点的渲染(绘制)顺序LocalZOrder、GlobalZOrder、OrderOfArrival

      (如有错误,请联系我更正,以免误导他人!)

       在学习cocos2dx时经常出现这种情况→→→→→→→→→→→→→→→→

 

!!!本该出现的妹纸为何变成娘娘!逗逼的表情背后隐藏着令人心动的美丽脸蛋,是什么让娘娘得宠,又是什么让妹纸消失!唯一看透了真相的是一个。。。好吧屁话不多说,下面我们就来探究下cocos2dx的渲染顺序的依仗”——

Zorder

 

      cocos2dxnode.h源码中我们可以看到下面三个函数:setLocalZOrdersetGlobalZOrdersetOrderOfArrival这三个函数分别设置了nodecocos2dx场景中的元素都是继承于node)的三个属性:_localZOrder_globalZOrder_orderOfArrivalcocos2dx就是根据这三个属性来决定元素的渲染顺序。break表示当时看到三个zorder瞬间懵逼啊,但是break不服啊,为了每次都能看到后面的妹纸再难也要解决它!

      首先我们看到setLocalZOrder函数的官方注释:(咳咳,蹩脚英语翻译好久)

LocalZOrder is the'key' used to sort the node relative to its siblings.

LocalZOrder是用于给node(节点)在它的兄弟姐妹(如一个Layeradd的多个node,这些node就互为兄弟姐妹)之间排序的关键字。

The Node's parent willsort all its children based ont the LocalZOrder value.

node的父节点会基于LocalZOrder给他的所有孩子节点排序。
If two nodes have the same LocalZOrder, then the node that was added first tothe children's array will be in front of the other node in the array.
如果两个节点有相同的LocalZOrder,那么先

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值