• 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);


  • 相关阅读:
    MySQL 第四天
    MySQL 第三天
    MySQL第二天
    MySQL第一天
    Day27-28 基础加强
    Day24-26 项目练习(图书商城)
    Day23 ajax
    Day22 文件上传下载和javaMail
    Day21 过滤器(Filter)
    小轮播图
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6820148.html
Copyright © 2020-2023  润新知