Node Visit方法疑问

Node Visit方法疑问 如图

就是先画zorder < 0的child,然后再画自己,最后画zorder >= 0的child

— Begin quote from ____

引用第1楼gingerjym于2014-06-12 16:03发表的 :
就是先画zorder < 0的child,然后再画自己,最后画zorder >= 0的child http://www.cocoachina.com/bbs/job.php?action=topost&tid=205939&pid=977061

— End quote

最后那段不是画所有的child?

最后那一段注意一开始的位置是cbegin+i,也就是说继续上一个循环的i值

— Begin quote from ____

引用第3楼minguo于2014-06-13 10:02发表的 :
最后那一段注意一开始的位置是cbegin+i,也就是说继续上一个循环的i值 http://www.cocoachina.com/bbs/job.php?action=topost&tid=205939&pid=977631

— End quote

谢谢解答
糗大了,对C++不熟

我也有疑问,为什么visit的绘制顺序要先绘制 所有zorder< 0 的孩子节点,然后绘制自己, 最后绘制所有zorde>0 的孩子节点,

我认为应该这样绘制 先绘制 自己, 然后绘制所有zorder< 0 的孩子节点, 最后绘制所有zorde>0 的孩子节点,

父节点相对于孩子节点可以看成是个容器,它里面存放所有的孩子节点,因此,无论孩子节点的zorder值有多小,都应该在父节点之后绘制(即读可以遮挡住父节点)

cocos2d 默认是2D的正交投影,没有深度测试,没有深度测试就意味着,Z轴不起作用,那么在Opengl中就会是后绘制的会挡住先绘制的(如果有深度测试,那么在进行片源检测的时候,会进行深度比较)!

cocos2d-x 用的是透视投影。