1

我在 cocos2d 1.0 项目中有这个代码,它是从这里重新制作的小翅膀的一部分:https ://github.com/haqu/tiny-wings

- (void) draw {

#ifdef DRAW_BOX2D_WORLD

glDisable(GL_TEXTURE_2D);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);

glPushMatrix();
glScalef(CC_CONTENT_SCALE_FACTOR(), CC_CONTENT_SCALE_FACTOR(), 1.0f);
world->DrawDebugData();
glPopMatrix();

glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnable(GL_TEXTURE_2D);    

#else

glBindTexture(GL_TEXTURE_2D, _stripes.texture.name);

glDisableClientState(GL_COLOR_ARRAY);

glColor4f(1, 1, 1, 1);
glVertexPointer(2, GL_FLOAT, 0, hillVertices);
glTexCoordPointer(2, GL_FLOAT, 0, hillTexCoords);
glDrawArrays(GL_TRIANGLE_STRIP, 0, (GLsizei)nHillVertices);

glEnableClientState(GL_COLOR_ARRAY);

#endif
}

我很难将其转换为 OpenGL ES 2.0。我发现文档非常模糊。

它应该是什么样子?

4

1 回答 1

0

使用此绘图功能而不是您上面的绘图功能。

-(void) draw
{
    [super draw];
    ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );
    kmGLPushMatrix();
    self.world->DrawDebugData();    
    kmGLPopMatrix();
}

也使用来自 Cocos2D 2.0 的 GLES-Render.h 和 GLES-Render.m

于 2012-09-22T13:39:19.713 回答