为了账号安全,请及时绑定邮箱和手机立即绑定

Cocos2d-x中,怎么使用debugDraw

Cocos2d-x中,怎么使用debugDraw

千巷猫影 2018-10-29 04:00:11
我的cocos2d-x版本是2.0.4.网上那些代码中,有new GLESDebugDraw(...);的都是会报错的代码貌似不能在BOX2D中使用new.求一个可以用的代码
查看完整描述

1 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

你说不能new 是不是因为没有添加相应的文件,按照以下流程试一下看看:

1.在你对应的cocos2d-x库资源中找到文件:GLES-Render.h 和 GLES-Render.cpp
把他们拷贝到你的项目里面去并引用;

2.创建世界的时候加上这些

GLESDebugDraw * _debugDraw = new GLESDebugDraw(PTM_RATIO);
world->SetDebugDraw(_debugDraw);
uint32 flags = 0;
flags += b2Draw::e_shapeBit;
flags += b2Draw::e_jointBit;
flags += b2Draw::e_aabbBit;
flags += b2Draw::e_pairBit;
flags += b2Draw::e_centerOfMassBit;
_debugDraw->SetFlags(flags);

3.添加或者修改 draw 方法

void PlayLayer::draw()
{
//
// IMPORTANT:
// This is only for debug purposes
// It is recommend to disable it
CCLayer::draw();

ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );

kmGLPushMatrix();

world->DrawDebugData();

kmGLPopMatrix();

CHECK_GL_ERROR_DEBUG();
}

查看完整回答
反对 回复 2018-11-14
  • 1 回答
  • 0 关注
  • 909 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信