Cocos2d-x中Box2d示例无法运行的问题

来源:互联网 发布:linux命令入门 编辑:程序博客网 时间:2024/06/06 12:39

Cocos2d-x中Box2d示例无法运行的问题

    最近研究碰撞,因以前对Box2d较为熟悉,所以较为倾向于使用该引擎来实现一些东西。问题是cocos默认使用的是ChipMunk。刚解压出来的引擎,直接对cpp-tests的Box2dTest编译运行会被提示要求定义CC_ENABLE_BOX2D_INTEGRATION = 1,但是这玩意还不太好直接在文件中直接#define,看后面大概能知道其原因。

    解决的办法是直接在cpp-tests项目属性的C/C++项目,预处理器选项的预处理器定义中定义,注意不能同时定义CC_ENABLE_CHIPMUNK_INTEGRATION=1。当然,定义完以后,你会发现程序出错得更离谱,不弹出要求加定义的对话框了,直接发生断言错误……难过

    跟踪一下,断言发生在CCPhysicsSprite.cpp中:

    其实原因想想也还简单,如图:



      cpp-tests和包含CCPhysicsSprite.cpp的libExtensions项目是平级的,也就是cpp-tests中修改的预定义是不作用到libExtensions上的,哥们这个倒是很快反应过来了,就是找CCPhysicsSprite的时候眼拙,看到libcocos2d项目里面去了,改错了,半天搞不定,大哭。网上狂搜,终于有哥们贴出来同样的过程,点这里。完事,尼玛,选择cocos2dx就是自己找虐的节奏。

    搞定以后,可以看看这位弟兄的学习文章,对着代码看还是很清楚的。

0 0
原创粉丝点击