首页 > 代码库 > cocos2d-x分别在Visual Studio和eclipse中设置启用Box2D

cocos2d-x分别在Visual Studio和eclipse中设置启用Box2D

    cocos2d-x内嵌有chipmunk和Box2D两个物理库,默认启用的是chipmunk。如果想使用Box2D,可做如下设置。PS:本人所用的版本是cocos2d-x-2.2.5。

一、在Visual Studio中设置启用Box2D。

一般通过cocos2d-x主目录下的tools/project-creator/文件夹下的python命令创建一个工程,并打开该工程后,相关的库也会随之导入Visual Studio。设置如下:

1、选中工程,按Alt + Enter快捷键(或者右键,选Propreties),在弹出的菜单中选择C/C++ --> Preprocossor,将Preprocessor Definition下的CC_ENABLE_CHIPMUNK_INTEGRATION=1修改为CC_ENABLE_BOX2D_INTEGRATION=1。

 

2、查看Linker -->Input下的Aditional Dependencies里,有没有libBox2d.lib。如果没有,手动添加之。

 

3、这一点也是值得注意的。CCPhysicsSprite类,该类将一个精灵与刚体联系在一起,一旦创建一个CCPhysicsSprite对象后,其精灵和刚体的位置变动会自动更新,不用我们手动去更新。而且可以方便地由刚体得到精灵,由精灵得到刚体。推荐使用该类。CCPhysicsSprite的教程不少,但不会有人提到相应的一些设置。

如果使用到该类,因其定义于libExtensions库中,按照上面两步设置后,在使用该类时,如果调用的是Box2D来创建它的刚体,还是会报错,原因就是libExtensions库默认的物理引擎仍然为chipmunk。要对该库进一步设置。设置方法跟上面两步一样,只不过,设置的对象变成了libExtensions类库,而不是自己创建的工程项目。

 

二、在eclipse中设置启动Box2D

1、打开工程目录下的jni目录,打开Application.mk文件,将该文件中的-DCC_ENABLE_CHIPMUNK_INTEGRATION=1修改为-DCC_ENABLE_BOX2D_INTEGRATION=1

2、同样,如果使用到了CCPhysicsSprite,打开extensions目录下的Android.mk文件,将该文件中的所有-DCC_ENABLE_CHIPMUNK_INTEGRATION=1修改为-DCC_ENABLE_BOX2D_INTEGRATION=1

   

cocos2d-x分别在Visual Studio和eclipse中设置启用Box2D