Cocos2d iphone IOS Box2d版本2.1 DebugDraw不工作

Cocos2d iphone IOS Box2d版本2.1 DebugDraw不工作,cocos2d-iphone,box2d,physics,ios6.1,Cocos2d Iphone,Box2d,Physics,Ios6.1,我是box2d新手,我必须处理物理引擎。我正在创建固定装置和物理机构并设置位置。现在我想在调试模式下查看物理对象。 我已经访问了很多论坛并尝试了代码,但运气不好 创建我的世界后,我正在使用以下代码 m_debugDraw = new GLESDebugDraw( PTM_RATIO ); _world->SetDebugDraw(m_debugDraw); uint32 flags = 0; flags += b2Draw::e_shapeBit;

我是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。 没有编译错误,但调试模式下的物理对象不会显示

-(void) draw
{
    [super draw];
    ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );
    kmGLPushMatrix();
    _world->DrawDebugData();
    kmGLPopMatrix();
}
如何使用cocos2d/Box2d版本2.1启用调试绘图,或者是否有其他方式查看物理对象


谢谢

在确定标志时,您应该使用GLESDebugDraw

uint32 flags = 0;

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

此调试形状在第0层绘制…仅当精灵的z顺序小于0时才可见。尝试为您的雪碧(雪碧附在身体上)设置-1。谢谢,它可以工作。我已经将zIndex设置为-1,我的背景精灵和物理对象正在显示:)@Guru我如何才能将它带到前面?请看我的问题:@Narek,很简单,让你的精灵z阶小于0。@Guru我有一个更深层次的问题:在Cocos2d-x中,原形是在所有精灵下绘制的:(因此我不能把它们放在前面。我不知道这是一个bug还是按照设计,但我不能做我想做的。唯一的方法是使用Z维度,把它们放在前面,但在这种情况下,我将其他坐标的位置改为,当你放大Z坐标时,图像会变大。