IOS Box2d 2.1版DebugDraw无法正常工作

时间:2013-07-19 10:42:28

标签: cocos2d-iphone box2d physics ios6.1

我是box2d的新手,我必须处理物理引擎。我正在创建灯具和物理机构并设置位置。现在我想在调试模式下查看物理对象。 我访问过很多论坛并试过代码,但没有运气。

我在创建我的世界之后使用以下代码

    m_debugDraw = new GLESDebugDraw( PTM_RATIO );
    _world->SetDebugDraw(m_debugDraw);
    uint32 flags = 0;
    flags += b2Draw::e_shapeBit;
    flags += b2Draw::e_jointBit;
    flags += b2Draw::e_aabbBit;
    flags += b2Draw::e_pairBit;
    flags += b2Draw::e_centerOfMassBit;
    m_debugDraw->SetFlags(flags);

并覆盖Draw方法并包含GLES_Render.h。 没有编译错误,但调试模式下的Physics对象没有显示。

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

如何使用cocos2d / Box2d 2.1版启用Debug Draw或者是否有其他方法可以查看物理对象?

由于

1 个答案:

答案 0 :(得分:0)

确定标志时应使用 GLESDebugDraw

uint32 flags = 0;

flags += GLESDebugDraw::e_shapeBit;
flags += GLESDebugDraw::e_jointBit;
 .....
debugDraw->SetFlags(flags);