2

正しいコードのように見えるものを使用して、IOS プロジェクトで box2d のデバッグ ドローを使用しようとしていますが、画面に何も表示されません。これはコードです:

b2Vec2 gravity = b2Vec2(0.0f, 0.0f);
_world = new b2World(gravity);
_world->SetContinuousPhysics(true);
m_debugDraw = new GLESDebugDraw( PTM_RATIO );
_world->SetDebugDraw(m_debugDraw);
uint32 flags = 0;
flags += b2Draw::e_shapeBit;
flags += b2Draw::e_jointBit;
flags += b2Draw::e_centerOfMassBit;
flags += b2Draw::e_aabbBit;
flags += b2Draw::e_pairBit;
m_debugDraw->SetFlags(flags);

私は何が欠けていますか?

4

2 に答える 2

2

drawメソッドをオーバーライドする必要があります。

- (void) draw
{
    [super draw];
    ccGLEnableVertexAttribs(kCCVertexAttribFlag_Position);
    kmGLPushMatrix();
    world->DrawDebugData();
    kmGLPopMatrix();
}
于 2013-05-24T08:35:58.713 に答える
0

ここでジョン・ワーズワースによってもたらされたソリューションhttp://www.johnwordsworth.com/2011/09/wrapping-box2d-debug-into-a-cocos2d-layer/は私にとって完璧に機能します。

于 2013-05-25T07:25:11.347 に答える