cocos2d-x 3.10 显示Box2d 调试视图
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 调试视图相关推荐
- MFC多文档应用程序同时显示两个视图
本文是对网络上各种资料进行了梳理,并在VisualC++6.0下进行了实验测试. 需要解决的问题如下: 1. 在MFC多文档应用程序中同时显示两个视图,其中一个视图显示电路原理图,另外一个显示仿真结果 ...
- SAP BMBC报表不能显示批次分类视图里的特性值
SAP BMBC报表不能显示批次分类视图里的特性值 BMBC报表可以显示批次相关的字段值,但是自定义在批次分类视图了那些特性值,不能在这个标准报表里显示的.如下图示: 如果要能以报表批量方式显示诸多批 ...
- Appium 移动端自动化 - Android SDK连接安卓手机,adb连接一加8手机USB调试实例演示,连接一加8手机不显示USB调试选项问题排查
Android SDK 连接安卓手机过程演示 第一章:一加8手机连接过程 ① 启用开发者模式 ③ 开发者选项启用 USB 调试 ③ 手机连接 USB 调试 ④ 手机连接不显示 USB 调试选项问题排查 ...
- Windows 10 显示桌面图标 计算机 / 此电脑 / 我的电脑
Windows 10 显示桌面图标 计算机 / 此电脑 / 我的电脑 1. 桌面空白处右键 -> 个性化 2. 主题 -> 桌面图标设置 3. 桌面图标 -> 应用 -> 确定 ...
- 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]. 将相机参数设置 ...
- Linux内核5.10编译 与调试
Linux内核5.10编译 与调试 Linux 5.10 编译 下载内核 准备编译环境 配置模板 编译 安装新内核 qemu 调试 busybox 根文件系统制作 qemu 运行 脚本二 方法三 目的 ...
- 51单片机+L298驱动步进电机+L297测速+LCD1602显示+按键调试+Proteus仿真
51单片机+L298驱动步进电机+L297测速+LCD1602显示+按键调试+Proteus仿真 *Proteus仿真 L298N是双H桥式驱动器. L297是步进电机控制集成芯片(包括环形分配器), ...
- VTK显示CT图像视图
VTK显示CT图像视图
- 由一道CTF对10种反调试的探究
0x00 前言 最近做的有些ctf中总是出现一些反动态调试的情况.由次对一些常见的反动态调试进行一些总结.既然是调试,趁着这个机会探究了一下调试器如何与被调试进程建立联系的过程. 参考文章: http ...
最新文章
- azure多功能成像好用吗_如何使用Azure功能处理高吞吐量消息
- 用脚写字考上985!无臂硕士开学报到,宿舍设计太细节了……
- 两个server 两个数据库 微服务_微服务的数据库设计
- centos7 转换为lvm_[转] centos7 调整XFS格式的LVM大小
- 2015蓝桥杯省赛---java---A---3(九数分三组)
- Java即时类| hashCode()方法与示例
- Vue使用vue-cli创建vue的模板项目---vue工作笔记0018
- JavaScript学习(九十二)—关联数组的基本操作
- [转载] Python导出Excel图表
- [2018.03.29 T2] 公交旅行
- JavaWeb项目框架
- 云解析DNS使用教程
- 【C语言编程】 配对碱基链
- 浙大计算机学硕453分,卷卷卷!2021计算机专业考研神仙打架:浙大最高分超450,人均400+?...
- 苹果app旧版本软件下载
- matlab 中关于nargin 以及 varargin 函数的使用
- bootstrap-table修改列名
- 屏幕录像专家2014 v0318 免费版
- 基于低代码平台实现的政务督办管理系统有哪些特色功能?
- iPhone12充电头怎么选