2013-08-11 4 views
1

Я создал проект Cocos2D 2.1 без Box2D, а затем позже добавил Box2D. До сих пор так хорошо, единственная проблема сейчас в том, что мой проект выглядит по умолчанию с использованием OpenGL ES 2 и один с Box2D использует OpenGL ES 1. Это метод отладки Жеребьевка:Box2D debug draw with OpenGL ES 2

-(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, и я получил ошибки компилятора. Каковы мои варианты здесь, чтобы иметь отладочную ничью в моем проекте?

+0

создать новый проект cocos + box2d и скопировать gles-render файлы в ваш проект – LearnCocos2D

+0

Файлы glres-render содержат метод DrawDebugData. Однако проблема заключается в методе 'draw', где я использую упомянутые состояния GL. – Pablo

ответ

0

Вы хотите взглянуть на Cocos2D migration to 2.0 guide. В частности, обращая внимание на пользовательские функции draw(). Похоже, вам просто нужно изменить вызовы OpenGL, которые вы делаете, на использование Cocos2D, поскольку он обрабатывает много вызовов OpenGL внутри с 2.x. Недавно я столкнулся с этой проблемой.

Смежные вопросы