Cocos2d-x初学指南: Box2D如何开启debugDraw
debugDraw可以调试显示各个物理的形状,家具,质心等轮廓,用不同的颜色显示出来。利于我们调试。
版本为Cocos2d-x 2.0.1版本
首先引用
#include "GLES-Render.h"
这个文件在box2d例子里面
然后实现层的draw()方法
void HelloWorld::draw()
{
//
// IMPORTANT:
// This is only for debug purposes
// It is recommend to disable it
//
CCLayer::draw();
ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );
kmGLPushMatrix();
world->DrawDebugData();
kmGLPopMatrix(); }
上面代码版本不同,实现不同,具体可以看自带例子里面写法,这里主要讲步骤
然后就是在创建世界的时候创建
b2Vec2 gravity(0.0f,-10.0f);
world=new b2World(gravity);
world->SetAllowSleeping(true);
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_aabbBit;
flags += b2Draw::e_pairBit;
flags += b2Draw::e_centerOfMassBit;
m_debugDraw->SetFlags(flags);
上面的flags是你所选需要显示的轮廓类型,有形状,关节等等,具体可以尝试