请教,关于多个CCSprite加入层的问题

就是这样,多个CCSprite在一定的区域随机刷,坐标不同。但addChild是按顺序添加。这样会出现坐标靠前会被坐标靠后遮盖。如果调整zOrder,也会出现。难道每次都要判断CCSprite坐标来修改zOrder,CCSprite很多的话,效率不是会变得很低?

用cocos2d-x坐标系来看,Y轴向上递增。列如A坐标是(400,200),B坐标是(400,210),应该是A挡住B一部分,但现在变成B挡住A一部分,因为B的addchild比A的addchild先添加。修改zOrder是可以解决,但CCSprite很多的话,效率不好说,而且CCSprite有些速度不一样

这种就得靠动态改变CCSprite的zOrder来实现
几千个CCSprite还不至于效率低,不要想当然,以实际测试为准

另外,可以把多个CCSprite合成到一张纹理,然后使用CCSpriteBatchNode,渲染效率会高很多

设置每个CCSprite的zOrder为屏幕高度减去自身的Y坐标,在移动CCSprite时要修改它的zOrder

谢谢大神,我会去试试