cocos2d-x box2d使用调试绘图
2014-04-15 18:36
393 查看
cocos2d-x box2d使用调试绘图
复制TestCpp的GLES-Render.h和GLES-Render.cpp过来。添加一个成员变量:
GLESDebugDraw *m_debugDraw;
初始化物理引擎的时候:
void HNGameLayer::initPhysics() { m_debugDraw = new GLESDebugDraw(RATIO); 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); m_b2World = new b2World(b2Vec2(0, -10)); m_b2World->SetAllowSleeping(true); // 允许物体进入休眠状态 m_b2World->SetContinuousPhysics(true); // 使用连续物理碰撞检测 m_b2World->SetDebugDraw(m_debugDraw); ....其他代码 }
重写draw函数
void HNGameLayer::draw() { CCLayer::draw(); if (!m_bDebug) { return; } ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position ); kmGLPushMatrix(); m_b2World->DrawDebugData(); kmGLPopMatrix(); CHECK_GL_ERROR_DEBUG(); }
防止被背景阻挡了。因为draw函数话出来的东西的z-order应该是0,把背景的z-order设成负数就可以了
相关文章推荐
- Python开发环境Wing IDE使用教程之matplotlib 2D绘图库代码调试技巧
- Cocos2d-X Box2D的使用实例
- 【cocos2d-x从c++到js】21:使用CocosCode调试JSB 推荐
- iOS海哥开发笔记 (海哥原创,绘图Quartz-2d的简单使用 二)
- iOS开发UI高级—25Quartz2D使用(绘图路径)
- iOS开发UI篇—Quartz2D(五) 图片裁剪圆形,UIKit的绘图方法,Path路径的使用
- iOS开发UI篇—Quartz2D使用(绘图路径)
- 使用BabeLua3.x在cocos2d-x中编辑和调试Lua
- Quartz2D绘图的基本使用
- 使用BabeLua在cocos2d-x中调试Lua
- cocos2d-x box2d物理引擎深入研究 第一篇之旋转关节详解(b2RevoluteJoint)
- IOS开发之Quartz2D绘图的使用
- 使用BabeLua在cocos2d-x中调试Lua
- Cocos2d-X Box2D的基本知识
- cocos2d-x box2d debugdraw
- 【COCOS2DX-游戏开发之十】使用eclipse调试cocos2d-x Native C++ 代码
- 【cocos2d-x从c++到js】17:使用FireFox进行JS远程调试 推荐
- 使用Win2D在UWP程序中2D绘图(二)
- 使用VS插件在VS2012/2013上编辑和调试Quick-Cocos2d-x的Lua代码
- 使用eclipse CDT 调试cocos2d-x 3.3 android 工程