cocos2dx box2d 添加debugDraw

本文介绍了如何在coco2d-x框架中集成物理世界DebugDraw功能,通过添加特定类和重写draw方法,实现对物理世界物体的详细调试展示,包括形状、质心、关节等元素的可视化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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


2.你的layer里面添加

  1. GLESDebugDraw *debugDraw;  

并且重写layer的draw方法

init方法里面

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

3.然后在draw的方法里面

  1.     CCLayer::draw();  
  2.   
  3. #ifdef DD_DEBUG  
  4.     ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );  
  5.       
  6.     kmGLPushMatrix();  
  7.       
  8.     mWorld->DrawDebugData();  
  9.       
  10.     kmGLPopMatrix();  
  11. #endif  

即可.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值