我创建了Cocos2D 2.1项目,最初没有Box2D,后来添加了Box2D。到目前为止,唯一的问题是,我的项目默认情况下使用OpenGL ES 2,而Box2D的项目则使用OpenGL ES 1。这是调试绘制方法:
-(void) draw
{
glDisable(GL_TEXTURE_2D);
glDisableClientState(GL_COLOR_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
_world->DrawDebugData();
// restore default GL states
glEnable(GL_TEXTURE_2D);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
}
GL_COLOR_ARRAT
和GL_TEXTURE_COORD_ARRAY
没有为OGL2定义,我得到了编译器错误。在我的项目中进行调试绘制的选项是什么?
您需要了解Cocos2D迁移到2.0的指南。特别注意自定义draw()
函数。听起来你应该只需要将你正在进行的OpenGL调用修改为Cocos2D使用的调用,因为它在2.x内部处理了很多OpenGL调用。我最近也遇到了这个问题。