我在一些论坛上看到在 Cocos2d 中使用 Spritesheets 我无法设置属于同一个 Spritesheet 的精灵的 Z 顺序。是真的吗?
问问题
39 次
1 回答
2
不,这是不正确和不准确的。spritesheet 是一个纹理图集,您可以对从纹理图集创建的精灵做任何事情。
如果您使用 CCSpriteBatchNode,您可以对添加到同一节点的所有精灵使用 zOrder,但多个批处理节点及其各自的子精灵根据批处理节点顺序及其 zOrder 进行排序。因此,如果batchnode A 绘制在batchnode B 之后,那么B 的所有子节点都不能被zOrder 排序为位于batchnode A 的任何精灵之后。
然而即便如此,您仍然可以通过启用深度缓冲和使用 vertexZ 属性(即“真正的”OpenGL 深度值)来自由地对具有多个批处理节点的批处理精灵进行 z 顺序排列。它有点慢,但消耗更多的内存。
于 2013-11-05T20:33:42.713 回答