最近看了下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_INTEGRATION 和 CC_ENABLE_BOX2D_INTEGRATION 两个宏决定的。因此如果这里我们启用box2d,就可以如下操作:
1 打开TestCpp项目的属性页,查看c/c++下面的预处理器,可以看到这里默认的是chipmunk,如下图:
这里我们删掉 CC_ENABLE_CHIPMUNK_INTEGRATION=1 改为 CC_ENABLE_BOX2D_INTEGRATION=1 。
2 处理libExtensions项目,和TestCpp项目类似,如下图:
然后重新编译,就可以了。
发表评论