2013-02-04 3 views
0

현재 코코스 2D 장면 (Kobold2d에서 실행 중)에 몇 개의 레이어가 있습니다. 각 레이어에는 스프라이트 배치 노드가 연결되어 있습니다. 한 번에 화면에있는 말도 안되는 숫자의 스프라이트를 사용하여 배치 노드를 사용해야합니다. 모든 것이 잘 작동하고 있으며 작은 파티클 시스템을 설정했습니다. 문제는 CCParticleBatchNode입니다. 입자 emmiters는 항상 모든 것 위에 있습니다 (가장 높은 zOrder 레이어 임).하지만 이것은 아이소 메트릭 게임이며 분명히 작동하지 않습니다.다른 CCSpriteBatchNode의 스프라이트 사이에 CCParticleSystemQuad 삽입

CCSpriteBatchNode가 포함 된 내 레이어의 스프라이트간에 emmiters를 몰래 넣을 수있는 방법이 있습니까? 나는 vertexZ (나는 최신 버전의 cocos2d 2. +를 사용 중이다.)를 사용하여 엉망으로 만들려고했지만, 내가하는 일은 중요하지 않다. 아무 것도 변경하지 않는 것처럼 보였다. Kobold2d를위한 LUA 파일 이것이 올바르게 설정되어 있고 일괄 처리 노드에있는 programForKey : kCCShader_PositionTextureColorAlphaTest의 쉐이더가 활성화되어 있습니다. 그러나 이것이 최선의 해결책조차되지 않았습니까?

아무도 이런 식으로 행동하거나 내가 할 수있는 희생이나 트릭을 제안하지 않았습니까?

답변

1

vertexZ를 사용하려면 깊이 버퍼링을 활성화해야합니다 (config.lua 참조). 스프라이트 배치와 다른 노드 사이의 그리기 순서를 변경하는 유일한 방법은 Vertexz뿐입니다.

+0

' \t \t DefaultTexturePixelFormat = TexturePixelFormat.RGBA8888, 가 \t는 GLViewColorFormat = GLViewColorFormat.RGB565, 가 \t는 GLViewDepthFormat = GLViewDepthFormat.Depth24Bit, \t \t \t - 이소 올바른 Z 순서에 필요한 깊이 버퍼는 타일 \t \t GLViewMultiSampling = NO , \t \t GLViewNumberOfSamples = 0, \t \t Enable2DProjection = YES,EnableRetinaDisplaySupport = NO (210) \t \t \t \t \t \t \t \t, \t \t EnableGLViewNodeHitTesting = NO, \t \t EnableStatusBar = NO,' 그것은, 내가 제대로 설정하지 않아도 가능성이 맞습니까? –

+0

그럼에도 불구하고, 모든 것들에 관한 정보원이기 때문에 답을 생각해보십시오. 내 초점을 좁혀 주셔서 감사합니다. –

+0

Depth16Bit이면 충분합니다. 게다가 나는 16 비트 또는 24 비트 깊이 버퍼 옵션이 더 이상 존재하지 않는다고 생각하지만 어느 것이 기억이 안 나는지 생각한다. – LearnCocos2D