cocos2d-x 2.0下怎样让BOX2D DEBUG DRAW的方法笔记
2017-05-07 10:59
323 查看
原文链接:
这两天玩 cocos2d-x 和 box2d,发现 cocos2d-x 2.0 版本号要使用老方法 debug 渲染会出错。于是找到了新方法来 debug draw:
首先在你的头文件中添加这么一条:
public:
//.....
virtual void draw();
//.....
然后在你的 cpp 里实现它:
这里注意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 和 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 学习笔记 10 解决汉字乱码,win32工程中使用iconv配置方法
- Box2d学习笔记一:在cocos2d-x中启动调试绘图
- cocos2d-x学习笔记-box2d实现物理引擎新旧版本的不同
- 【iOS-Cocos2d游戏开发之十一】使用Box2d物理系统以及在cocos2d框架添加Box2d物理系统lib包的方法
- cocos2d-x 自学笔记之box2D
- 分享使用Box2D和Cocos2D制作弹球游戏的方法
- cocos2d-x学习笔记(二)序列帧动画实现的几种方法
- Cocos2d-x 结合Box2D开发Android游戏配置方法
- 【Cocos2D-X 学习笔记】Node父类的方法和属性
- cocos2d-x之box2d使用笔记
- Cocos2d 中 Box2D 使用笔记
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第二十五课:Cocos2D-X物理引擎之Box2D8-10
- Box2d系列 – 如何在cocos2d-x中激活debug draw
- 【Cocos2d游戏开发之十一】使用Box2d物理系统以及在cocos2d框架添加Box2d物理系统lib包的方法
- 学习笔记quick-cocos2d-x UIPushButton使用方法
- python学习笔记:子类怎样调用父类方法
- cocos2d-x学习笔记(20)-- box2d入门(转)
- Java学习笔记13. 怎样使用Java中的方法
- Cocos2d-X2.2.3中开启Box2d的方法(vs2012)