zoukankan      html  css  js  c++  java
  • 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);


  • 相关阅读:
    【linux之web服务器apache】
    【linux工具之sed实例】
    【linux工具之strace】
    【linux工具之iptables 脚本】
    【linux工具之iptables】
    【Linux抓包工具之tcpdump】
    【抓包工具之wireshark】
    【Linux 基础服务之DNS】
    c语言
    sf
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6820148.html
Copyright © 2011-2022 走看看