2013-03-23 2 views
0

오래된 게임이 하나 있는데 Cocos2d 2.0 SDK를 업데이트하려고 노력했습니다. 컴파일 오류가 발생했습니다. Cocos2d 1.0에서 Cocos2d 2.0으로 이식하기

b2Vec2 gravity; 
gravity.Set(0.0f, -10.0f); 
self.world = new b2World(gravity, true); 

Error: No matching constructor for initialization of 'b2World'

나는 코드가 다음 작동하지만 Box2D의 디버그 모양이 그려지지 아래로 변경합니다.

self.world = new b2World(gravity); 

디버그 모양을 표시하는 올바른 방법으로 Box2d 월드를 초기화하는 방법은 무엇입니까?

+0

GLESDebugDraw를 사용하십시오. 세계 -> SetDebugDraw (m_debugDraw); Flags for debug draw도 가능합니다. –

답변

2

새로 만든 cocos2d 2.0 + Box2D 프로젝트에서 찾은 GLESDebugDraw 파일로 바꾸십시오. 귀하의 버전은 여전히 ​​cocos2d 2.x에서 작동하지 않는 GL ES 1.1 명령을 사용하고 있습니다.

+0

네 .... 지금은 일하고 .. 당신의 대답에 대해 감사합니다. – iPhoneProcessor

1

마지막으로이 그리기 기능과 GLESDebugDraw 파일을 대체하여 디버그 모양을 얻었습니다.

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