在不同CCSpriteBatchNode的sprite之间插入CCParticleSystemQuad

时间:2013-02-04 02:39:03

标签: objective-c cocos2d-iphone kobold2d

我目前在Cocos2d场景中有几个图层(在Kobold2d中运行)。每个层都附加一个精灵批处理节点。我需要使用批处理节点给出我在屏幕上同时拥有的可笑数量的精灵。一切都很好,我已经建立了一个小粒子系统。我遇到的问题是CCParticleBatchNode粒子emmiters总是在所有东西之上(因为它是最高的zOrder层) - 但这是一个等距游戏,显然不起作用。

有没有办法可以在我的任何包含CCSpriteBatchNode的图层上的精灵之间偷偷摸摸?我已经尝试过使用vertexZ(我是最新版本的cocos2d 2. +)但是我做的并不重要,它似乎没有改变任何东西,即使Kobold2d的LUA文件会启用它设置正确并且我的批处理节点上的programForKey:kCCShader_PositionTextureColorAlphaTest的着色器已启用 - 但这可能不是最佳解决方案吗?

有没有人遇到这样的事情,或者建议我可以做出任何牺牲,或者我可以做的伎俩,我没想到?

1 个答案:

答案 0 :(得分:1)

要使用vertexZ,您需要启用深度缓冲(请参阅config.lua)。 Vertexz是在spritebatches和其他节点之间更改绘制顺序的唯一方法。

相关问题