1.将cocos2d-x-3.10\tests\cpp-tests\Classes\Box2DTestBed目录下的GLES-Render.h和GLES-Render.cpp拷贝到当前项目的Classes目录下。

2.在visual studio2013打开当前项目解决方案,在解决方案资源管理器的src下右键->添加->现有项,选择刚才拷贝到Classes目录下GLES-Render.h和GLES-Render.cpp。

Box2dTest.h

 1 #ifndef _BOX2D_TEST_H_
 2 #define _BOX2D_TEST_H_
 3 #include "cocos2d.h"
 4 #include "Box2D\Box2D.h"
 5 USING_NS_CC;
 6 class Box2dTest:public Node{
 7 public:
 8     Box2dTest();
 9     ~Box2dTest();
10     virtual bool init();
11     void update(float) override;
12     virtual void draw(Renderer *renderer, const Mat4& transform, uint32_t flags) override;
13     CREATE_FUNC(Box2dTest);
14 private:
15     b2World* _world;
16 };
17 #endif

Box2dTest.cpp

 1 #include "Box2dTest.h"
 2 #include "GLES-Render.h"
 3
 4 #define PTM_RATIO 32
 5
 6 Box2dTest::Box2dTest(){
 7
 8 }
 9
10 Box2dTest::~Box2dTest(){
11     CC_SAFE_DELETE(_world);
12 }
13
14 bool Box2dTest::init(){
15     if (!Node::init())return false;
16     _world = new b2World(b2Vec2(0.0f, 0.0f));
17
18     //创建一个矩形刚体
19     b2BodyDef boxDef;
20     boxDef.position.Set(500/PTM_RATIO,350/PTM_RATIO);
21     b2Body* box = _world->CreateBody(&boxDef);
22     b2PolygonShape boxShape;
23     boxShape.SetAsBox(40/PTM_RATIO, 40/PTM_RATIO);
24     box->CreateFixture(&boxShape,1);
25
26     //调试视图
27     GLESDebugDraw* debugDraw = new GLESDebugDraw(PTM_RATIO);
28     _world->SetDebugDraw(debugDraw);
29     uint32 flags = 0;
30     flags += b2Draw::e_shapeBit;
31     flags += b2Draw::e_pairBit;
32     flags += b2Draw::e_centerOfMassBit;
33     debugDraw->SetFlags(flags);
34
35     scheduleUpdate();
36     return true;
37 }
38
39 void Box2dTest::update(float delta){
40     _world->Step(30.0f, 10, 10);
41 }
42
43 void Box2dTest::draw(Renderer *renderer, const Mat4& transform, uint32_t flags){
44     Node::draw(renderer, transform, flags);
45
46     ccGLEnableVertexAttribs(kCCVertexAttribFlag_Position);
47     kmGLPushMatrix();
48     _world->DrawDebugData();
49     kmGLPopMatrix();
50     CHECK_GL_ERROR_DEBUG();
51 }

HelloWorld.cpp下的init()函数下添加:

1 Box2dTest* box2dTest=Box2dTest::create();
2 addChild(box2dTest);

转载于:https://www.cnblogs.com/kingBook/p/5166165.html

cocos2d-x 3.10 显示Box2d 调试视图相关推荐

  1. MFC多文档应用程序同时显示两个视图

    本文是对网络上各种资料进行了梳理,并在VisualC++6.0下进行了实验测试. 需要解决的问题如下: 1. 在MFC多文档应用程序中同时显示两个视图,其中一个视图显示电路原理图,另外一个显示仿真结果 ...

  2. SAP BMBC报表不能显示批次分类视图里的特性值

    SAP BMBC报表不能显示批次分类视图里的特性值 BMBC报表可以显示批次相关的字段值,但是自定义在批次分类视图了那些特性值,不能在这个标准报表里显示的.如下图示: 如果要能以报表批量方式显示诸多批 ...

  3. Appium 移动端自动化 - Android SDK连接安卓手机,adb连接一加8手机USB调试实例演示,连接一加8手机不显示USB调试选项问题排查

    Android SDK 连接安卓手机过程演示 第一章:一加8手机连接过程 ① 启用开发者模式 ③ 开发者选项启用 USB 调试 ③ 手机连接 USB 调试 ④ 手机连接不显示 USB 调试选项问题排查 ...

  4. Windows 10 显示桌面图标 计算机 / 此电脑 / 我的电脑

    Windows 10 显示桌面图标 计算机 / 此电脑 / 我的电脑 1. 桌面空白处右键 -> 个性化 2. 主题 -> 桌面图标设置 3. 桌面图标 -> 应用 -> 确定 ...

  5. matlab 矩阵3d显示,Matlab 3D视图矩阵

    让A是MATLAB的4×4视图矩阵,从视图函数获得: A = view; A(1:3,1:3)应对应于旋转和缩放, A(1:3,4)应对应翻译, A(4,:)应该是[0 0 0 1]. 将相机参数设置 ...

  6. Linux内核5.10编译 与调试

    Linux内核5.10编译 与调试 Linux 5.10 编译 下载内核 准备编译环境 配置模板 编译 安装新内核 qemu 调试 busybox 根文件系统制作 qemu 运行 脚本二 方法三 目的 ...

  7. 51单片机+L298驱动步进电机+L297测速+LCD1602显示+按键调试+Proteus仿真

    51单片机+L298驱动步进电机+L297测速+LCD1602显示+按键调试+Proteus仿真 *Proteus仿真 L298N是双H桥式驱动器. L297是步进电机控制集成芯片(包括环形分配器), ...

  8. VTK显示CT图像视图

    VTK显示CT图像视图

  9. 由一道CTF对10种反调试的探究

    0x00 前言 最近做的有些ctf中总是出现一些反动态调试的情况.由次对一些常见的反动态调试进行一些总结.既然是调试,趁着这个机会探究了一下调试器如何与被调试进程建立联系的过程. 参考文章: http ...

最新文章

  1. azure多功能成像好用吗_如何使用Azure功能处理高吞吐量消息
  2. 用脚写字考上985!无臂硕士开学报到,宿舍设计太细节了……
  3. 两个server 两个数据库 微服务_微服务的数据库设计
  4. centos7 转换为lvm_[转] centos7 调整XFS格式的LVM大小
  5. 2015蓝桥杯省赛---java---A---3(九数分三组)
  6. Java即时类| hashCode()方法与示例
  7. Vue使用vue-cli创建vue的模板项目---vue工作笔记0018
  8. JavaScript学习(九十二)—关联数组的基本操作
  9. [转载] Python导出Excel图表
  10. [2018.03.29 T2] 公交旅行
  11. JavaWeb项目框架
  12. 云解析DNS使用教程
  13. 【C语言编程】 配对碱基链
  14. 浙大计算机学硕453分,卷卷卷!2021计算机专业考研神仙打架:浙大最高分超450,人均400+?...
  15. 苹果app旧版本软件下载
  16. matlab 中关于nargin 以及 varargin 函数的使用
  17. bootstrap-table修改列名
  18. 屏幕录像专家2014 v0318 免费版
  19. 基于低代码平台实现的政务督办管理系统有哪些特色功能?
  20. iPhone12充电头怎么选

热门文章

  1. 如何修复XML内存“泄漏”
  2. 正则表达式搜魂者(转:清清月儿 )
  3. [C#]自定义鼠标样式
  4. python日志输入 print 常用格式化符号 logging 日志输出
  5. java基础—线程间的通讯 生产者与消费者
  6. 关于Web面试的基础知识点--Html+Css(四)
  7. 回溯法|Backtracking
  8. win 10 VMware与Hyper-v共存
  9. C# switch语句中,可以放哪些类型
  10. linux服务器安装Mysql。看了几个教程,没装上,看这个一下就装上了。