好记性不如铅笔头

C && C++, cocos2dx, 编程

cocos2dx学习笔记:将TestCpp改为box2d

最近看了下cocos2dx的TestCpp工程,发现它的box2d是默认不使用的,默认使用的物理引擎是chipmunk。这里笔记下如何使box2d作为默认的物理引擎,非常简单。

首先打开文件CCPhysicsSprite.h,可以看到如下内容:

class CCPhysicsSprite : public CCSprite
{
protected:
    bool    m_bIgnoreBodyRotation;
#if CC_ENABLE_CHIPMUNK_INTEGRATION
    cpBody  *m_pCPBody;

#elif CC_ENABLE_BOX2D_INTEGRATION
    b2Body  *m_pB2Body;

    // Pixels to Meters ratio
    float   m_fPTMRatio;
#endif // CC_ENABLE_CHIPMUNK_INTEGRATION
........
}

可以看到这里物理引擎的选择方式是由 CC_ENABLE_CHIPMUNK_INTEGRATIONCC_ENABLE_BOX2D_INTEGRATION 两个宏决定的。因此如果这里我们启用box2d,就可以如下操作:

1 打开TestCpp项目的属性页,查看c/c++下面的预处理器,可以看到这里默认的是chipmunk,如下图:

这里我们删掉 CC_ENABLE_CHIPMUNK_INTEGRATION=1 改为 CC_ENABLE_BOX2D_INTEGRATION=1 。

2 处理libExtensions项目,和TestCpp项目类似,如下图:

然后重新编译,就可以了。

发表评论

3 × 4 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据