现在我正在尝试在Cocos2d中绘制一个多边形,但是我需要它在背景上,如何更改绘图的z-index并使其成为最高优先级,这样我就可以看到该行而不是它被覆盖背景?
这是绘制方法:
我决定把它变成一条线而不是多边形,然后调整它的宽度,否则就是一样......
-(void) draw {
glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
glLineWidth(5.0f);
ccDrawLine(healthBar[0], healthBar[1]);
}
答案 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_OES
或GL_DEPTH_COMPONENT24_OES
。
修改强>
我不熟悉OpenGL,但也许this page会帮助你。