在cocos2d-x中引入了两种物理引擎:CHIPMUNK和BOX2D。

  针对这两款引擎,cocos2d-x提供了一个CCPhysicsSprite类与其关联,但由于只能使用一个引擎,所以采用了宏定义的方式进行取舍。比如:

class CCPhysicsSprite : public CCSprite
{
protected:bool    m_bIgnoreBodyRotation;
#if CC_ENABLE_CHIPMUNK_INTEGRATIONcpBody  *m_pCPBody;#elif CC_ENABLE_BOX2D_INTEGRATIONb2Body  *m_pB2Body;// Pixels to Meters ratiofloat   m_fPTMRatio;
#endif // CC_ENABLE_CHIPMUNK_INTEGRATION//以下省略

  以上是CCPhysicsSprite类的定义代码片段,可以看出其同时支持CHIPMUNK和BOX2D。不过要注意的是,它默认选择的物理引擎是CHIPMUNK。

  因此,如果选择使用BOX2D编码而不修改默认宏定义,那么就会出现编译错误。

在win32平台下修改方法

  在Visual Studio 2012中,选择项目属性 -> C/C++ -> 预处理器,然后编辑预处理器定义,如图:

  修改CC_ENABLE_CHIPMUNK_INTEGRATION值为0(删掉也可以),添加CC_ENABLE_BOX2D_INTEGRATION=1

安卓平台修改方法

1.修改Android工程的jni目录下的Application.mk文件,把 -DCC_ENABLE_CHIPMUNK_INTEGRATION=1里的CHIPMUNK改成BOX2D;

2.修改引擎根目录下的extensions文件夹里面的Android.mk文件(注意不是jni下面的Android.mk),在141行到144行有如下代码:

LOCAL_CFLAGS += -DCC_ENABLE_CHIPMUNK_INTEGRATION=1
LOCAL_EXPORT_CFLAGS += -DCC_ENABLE_CHIPMUNK_INTEGRATION=1
LOCAL_CPPFLAGS += -DCC_ENABLE_CHIPMUNK_INTEGRATION=1
LOCAL_EXPORT_CPPFLAGS += -DCC_ENABLE_CHIPMUNK_INTEGRATION=1

  把CHIPMUNK都改成BOX2D即可。

  PS:这里我使用的是cocos2d-x-2.2.2版本,不清楚其他版本的文件目录情况。

  另外由于还没有在其它平台开发,所以没有研究在其它平台修改的方法。不过我觉得应该都是要进行修改的。

转载于:https://www.cnblogs.com/demon90s/p/4427864.html

在win32/安卓开发环境下编译BOX2D代码相关推荐

  1. Win7环境下搭建Android安卓开发环境

    Win7环境下搭建Android安卓开发环境(原创教程) 此教程以32位win7旗舰版系统为基础,其它版本系统请根据情况自行调整.教程在2012年9月16日写,所有软件为当时的最新版. 准备文件(文件 ...

  2. 如何在Windows下搭建Qt安卓开发环境?

    一.导读 本文描述如何在Windows下搭建Qt安卓开发环境,由于Qt维护的安卓开发环境和安卓开发环境在很大程度上不兼容,所以在选择Qt版本的时候需要注意:在JDK和Android SDK环境的选择上 ...

  3. 使用 Android Studio 搭建安卓开发环境

    使用  Android Studio  搭建安卓开发环境,方便.快捷.因为 Android SDK 等下载已经集成到 Android Studio 的安装中 1.官网下载 Android Studio ...

  4. 如何轻松搭建Java安卓开发环境

    一.Java安卓开发环境的搭建 1.解压下面这个文件夹. 2.双击进入解压好的文件夹,并继续双击进去入"eclipse"文件夹. 3.找到eclipse.exe这个程序,并将这个程 ...

  5. 新版WIN32汇编开发环境介绍及RadAsm简明教程

    写在前面的话: 在准备做教程的时候去查资料,关于WIN32下汇编方面的,本来想找些现成的拿到教程里用下,但发现貌似只有一篇,是2005年时jhkdiy写的,而且翻来翻去发现所有图片也都失效了.所以准备 ...

  6. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)...

    不多说,直接上干货! 前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...

  7. Ubuntu 12.04搭建MTK 6577 安卓开发环境

    Ubuntu 12.04搭建 MTK 6577安卓开发环境 1.       下载并安装Vmware虚拟机: 2.       下载并在虚拟机上安装Ubuntu 12.04 iso 安装包:下载地址: ...

  8. delphi 搭建安卓开发环境

    delphi 搭建安卓开发环境 DELPHI安装成功以后,怀着激动的心情,使用IDE向导生成安卓DEMO程序,BUILD,想马上看到编译成功的提示,结果报错,不由得傻眼了.DELPHI怎么这么差? 原 ...

  9. Eclipse+ADT+Android SDK 搭建安卓开发环境

    2019独角兽企业重金招聘Python工程师标准>>> Eclipse+ADT+Android SDK 搭建安卓开发环境 博客分类: Android 最近刚开始接触Android(安 ...

最新文章

  1. 19 python正则表达式及相关函数
  2. 什么是 Change Notification,为什么它很重要(译)
  3. vs2005制作安装包(自动安装.net framework 2.0)(小寿原创)
  4. rsync+lsyncd实现(本地以及远程)文件实时同步
  5. html5一年四季的变化,家乡四季的变化作文(精选5篇)
  6. Linux访问windows共享文件夹
  7. 阿里巴巴大数据运维平台实践
  8. Android中的Intent详细讲解【转】
  9. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_03-自定义查询页面-前端...
  10. MySQL几点重要的性能指标计算和优化
  11. 十大【C语言】经典书籍,应该有你看过的吧
  12. 丹佛大学计算机专业,丹佛大学计算机工程排名第79(2020年TFE美国排名)
  13. 即将到来的交通革命——出行即服务(MaaS)
  14. 浅谈微博、微信公众号、今日头条三者的区别
  15. 在线网校教育平台的开发,题库的搭建必不可少
  16. 现代OpenGL教程(六):鼠标和键盘(imgui+OpenGL3.3)
  17. CFileDialog的使用(MFC-C++)
  18. UDA/语义分割:Feature Re-Representation and Reliable Pseudo Label Retraining for Cross-Domain Semantic
  19. 前端es6 require动态引入图片报错Error: Cannot find module
  20. 开发常用图标png、ico 图标下载

热门文章

  1. js 生成二维码_js 生成二维码
  2. qt程序使用多行linux命令,开发Qt应用程序的基本方法总结
  3. 推送通知_谷歌宣布为安卓带来声音通知功能 可监测周围声音如婴儿哭声推送通知...
  4. GB28181平台介绍
  5. Filter过滤器执行流程
  6. NYOJ-超级台阶(dp)
  7. tensorflow基础(2)-tf.argmax和axis
  8. 西瓜书《机器学习》线性模型 一元线性回归公式推导
  9. 习题3.5 求链表的倒数第m个元素 (20 分)
  10. [雪峰磁针石博客]大数据Hadoop工具python教程2-python访问HDFS