在Cocos2d中改变绘制方法的z顺序?

时间:2011-05-30 03:24:46

标签: iphone cocos2d-iphone z-index

现在我正在尝试在Cocos2d中绘制一个多边形,但是我需要它在背景上,如何更改绘图的z-index并使其成为最高优先级,这样我就可以看到该行而不是它被覆盖背景?

这是绘制方法:

我决定把它变成一条线而不是多边形,然后调整它的宽度,否则就是一样......

-(void) draw {
    glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
    glLineWidth(5.0f);
    ccDrawLine(healthBar[0], healthBar[1]);
}

2 个答案:

答案 0 :(得分:3)

使用CCNode的reorderChild功能。并将您的矩形放在背景上

-(void) reorderChild:(CCNode *) child z:(int) zOrder    

答案 1 :(得分:0)

在您的app delegate中,您需要修改GLView以使其具有深度启用。然后,您应该能够修改绘制调用的深度。在你的app delegate中,找一下这样的东西:

    EAGLView *glView = [EAGLView viewWithFrame:[window bounds]
                               pixelFormat:kEAGLColorFormatRGBA8    // kEAGLColorFormatRGBA8
                               depthFormat:0                    // GL_DEPTH_COMPONENT16_OES
                    ];

0更改为GL_DEPTH_COMPONENT16_OESGL_DEPTH_COMPONENT24_OES

修改

我不熟悉OpenGL,但也许this page会帮助你。