在win32/安卓开发环境下编译BOX2D代码
在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代码相关推荐
- Win7环境下搭建Android安卓开发环境
Win7环境下搭建Android安卓开发环境(原创教程) 此教程以32位win7旗舰版系统为基础,其它版本系统请根据情况自行调整.教程在2012年9月16日写,所有软件为当时的最新版. 准备文件(文件 ...
- 如何在Windows下搭建Qt安卓开发环境?
一.导读 本文描述如何在Windows下搭建Qt安卓开发环境,由于Qt维护的安卓开发环境和安卓开发环境在很大程度上不兼容,所以在选择Qt版本的时候需要注意:在JDK和Android SDK环境的选择上 ...
- 使用 Android Studio 搭建安卓开发环境
使用 Android Studio 搭建安卓开发环境,方便.快捷.因为 Android SDK 等下载已经集成到 Android Studio 的安装中 1.官网下载 Android Studio ...
- 如何轻松搭建Java安卓开发环境
一.Java安卓开发环境的搭建 1.解压下面这个文件夹. 2.双击进入解压好的文件夹,并继续双击进去入"eclipse"文件夹. 3.找到eclipse.exe这个程序,并将这个程 ...
- 新版WIN32汇编开发环境介绍及RadAsm简明教程
写在前面的话: 在准备做教程的时候去查资料,关于WIN32下汇编方面的,本来想找些现成的拿到教程里用下,但发现貌似只有一篇,是2005年时jhkdiy写的,而且翻来翻去发现所有图片也都失效了.所以准备 ...
- spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)...
不多说,直接上干货! 前言 其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...
- Ubuntu 12.04搭建MTK 6577 安卓开发环境
Ubuntu 12.04搭建 MTK 6577安卓开发环境 1. 下载并安装Vmware虚拟机: 2. 下载并在虚拟机上安装Ubuntu 12.04 iso 安装包:下载地址: ...
- delphi 搭建安卓开发环境
delphi 搭建安卓开发环境 DELPHI安装成功以后,怀着激动的心情,使用IDE向导生成安卓DEMO程序,BUILD,想马上看到编译成功的提示,结果报错,不由得傻眼了.DELPHI怎么这么差? 原 ...
- Eclipse+ADT+Android SDK 搭建安卓开发环境
2019独角兽企业重金招聘Python工程师标准>>> Eclipse+ADT+Android SDK 搭建安卓开发环境 博客分类: Android 最近刚开始接触Android(安 ...
最新文章
- 19 python正则表达式及相关函数
- 什么是 Change Notification,为什么它很重要(译)
- vs2005制作安装包(自动安装.net framework 2.0)(小寿原创)
- rsync+lsyncd实现(本地以及远程)文件实时同步
- html5一年四季的变化,家乡四季的变化作文(精选5篇)
- Linux访问windows共享文件夹
- 阿里巴巴大数据运维平台实践
- Android中的Intent详细讲解【转】
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_03-自定义查询页面-前端...
- MySQL几点重要的性能指标计算和优化
- 十大【C语言】经典书籍,应该有你看过的吧
- 丹佛大学计算机专业,丹佛大学计算机工程排名第79(2020年TFE美国排名)
- 即将到来的交通革命——出行即服务(MaaS)
- 浅谈微博、微信公众号、今日头条三者的区别
- 在线网校教育平台的开发,题库的搭建必不可少
- 现代OpenGL教程(六):鼠标和键盘(imgui+OpenGL3.3)
- CFileDialog的使用(MFC-C++)
- UDA/语义分割:Feature Re-Representation and Reliable Pseudo Label Retraining for Cross-Domain Semantic
- 前端es6 require动态引入图片报错Error: Cannot find module
- 开发常用图标png、ico 图标下载
热门文章
- js 生成二维码_js 生成二维码
- qt程序使用多行linux命令,开发Qt应用程序的基本方法总结
- 推送通知_谷歌宣布为安卓带来声音通知功能 可监测周围声音如婴儿哭声推送通知...
- GB28181平台介绍
- Filter过滤器执行流程
- NYOJ-超级台阶(dp)
- tensorflow基础(2)-tf.argmax和axis
- 西瓜书《机器学习》线性模型 一元线性回归公式推导
- 习题3.5 求链表的倒数第m个元素 (20 分)
- [雪峰磁针石博客]大数据Hadoop工具python教程2-python访问HDFS