cocos2d-x 2.0下怎样让BOX2D DEBUG DRAW的方法笔记
Posted brucemengbm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2d-x 2.0下怎样让BOX2D DEBUG DRAW的方法笔记相关的知识,希望对你有一定的参考价值。
原文链接:
这两天玩 cocos2d-x 和 box2d,发现 cocos2d-x 2.0 版本号要使用老方法 debug 渲染会出错。于是找到了新方法来 debug draw:
首先在你的头文件中添加这么一条:
public:
//.....
virtual void draw();
//.....
然后在你的 cpp 里实现它:
void HelloWorld::draw() { CCLayerColor::draw(); ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position ); kmGLPushMatrix(); glScalef(CC_CONTENT_SCALE_FACTOR(), CC_CONTENT_SCALE_FACTOR(), 1.0f); world->DrawDebugData(); kmGLPopMatrix(); }
这里注意2个地方,首先第一个是 CCLayerColor::draw();
假设你继承的是 CCLayerColor 就用 CCLayerColor::draw(); 否则使用 CCLayer::draw();
假设在继承了 CCLayerColor 的时候使用了CCLayer::draw();那么你图层颜色会丢失。
其次 ios 上有个 retina 模式。不开启倒也无所谓可是开启了,那么 debug draw 渲染出来的仅仅有一半尺寸
解决问题加一句
glScalef(CC_CONTENT_SCALE_FACTOR(), CC_CONTENT_SCALE_FACTOR(), 1.0f);
以上是关于cocos2d-x 2.0下怎样让BOX2D DEBUG DRAW的方法笔记的主要内容,如果未能解决你的问题,请参考以下文章
cocos2d-x andriod, Box2D.h: No such file or directory
实例介绍Cocos2d-x中Box2D物理引擎:HelloBox2D
cocos2d-x 移植到android中编译的一些问题:fatal error: Box2D/Box2D.h: No such file or directory"