cocos2dx box2d 添加debugDraw

1. 首先我们需要拷贝
GLES-Render.cpp
GLES-Render.h到我们工作的目录,

这个两个文件可以在coco2d-x的示例代码中的tests\Box2DTestBed中可以找到。


2.你的layer里面添加

GLESDebugDraw *debugDraw;

并且重写layer的draw方法

init方法里面

    debugDraw = new GLESDebugDraw(PTM_RATIO);   //这里新建一个 debug渲染模块
    mWorld->SetDebugDraw(debugDraw);    //设置
    uint32 flags = 0;
    flags += b2Draw::e_shapeBit ;
    //b2Draw::e_centerOfMassBit;   //获取需要显示debugdraw的块
    //b2Draw::e_aabbBit;  //AABB块
    //b2Draw::e_centerOfMassBit; 物体质心
    //b2Draw::e_jointBit;  //关节
    //b2Draw::e_shapeBit;   形状
    debugDraw->SetFlags(flags);   //需要显示那些东西

3.然后在draw的方法里面

    CCLayer::draw();

#ifdef DD_DEBUG
    ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );
    
    kmGLPushMatrix();
    
    mWorld->DrawDebugData();
    
    kmGLPopMatrix();
#endif

即可.

你可能感兴趣的:(cocos2dx)