SetZOrder 无效

《SetZOrder的BUG描述》
1.部分情况下会出现SetZOrder无效的情况,原因是,你需要调整的对象的父节点是CCSprite
2.在调用setZOrder方法的时候。会调用_setZOrder(z);之后调用 m_pParent->reorderChild(this, z);reorderChild会执行CCSprite的实现,在CCSprite的实现中会判定传入的类型跟传入子节点的层级关系是否一致,如果一致就不继续执行了。因为刚刚设置了一遍,然后马上进行校验,所以肯定一样,所以后边的代码就不会执行了。也就出现了时效。
3.解决方法,在你需要重置ZOrder的列表的上一层节点修改为没有继承过CCSprite或者继承过CCSprite但是自己重写过reorderChild方法的类即可。

posted @ 2015-06-17 19:13  连程  阅读(662)  评论(0编辑  收藏  举报