Cocos2dx中的TestCPP运行Box2dTest
2016-03-07 13:22
651 查看
原文链接:点击
Cocos2dx版本升级到3.10,然后运行TestCPP,想看下Box2d怎么用。
首先我是在TestCpp中添加预处理:CC_ENABLE_BOX2D_INTEGRATION=1,然后删除CC_ENABLE_CHIPMUNK_INTEGRATION,接着运行,
结果谁知道点击Box2dTest尽然崩溃。
如下:
void PhysicsSprite::setB2Body(b2Body *pBody)
{
#if CC_ENABLE_BOX2D_INTEGRATION
_pB2Body = pBody;
#else
CCASSERT(false, "Can't call box2d methods when Box2d is disabled"); -进入这里
#endif
}
才发现,在libExtensions中也有CC_ENABLE_BOX2D_INTEGRATION这个启动Box2d的宏开关。我看了看CCPhysicsSprite.cpp这个文件,在文件的头部,有行注释:
#if (CC_ENABLE_CHIPMUNK_INTEGRATION && CC_ENABLE_BOX2D_INTEGRATION)
#error "Either Chipmunk or Box2d should be enabled, but not both at the same time"
#endif
发现libcocos2d下的extension/ibExtensions库,只能同时支持一个物理引擎,要么Chipmunk要么就是Box2d,默认是支持Chipmunk的。所以我们需要设置libcocos2d预定义。
到此处,才真正找到根源,解决的办法就是给libcocos2d工程添加CC_ENABLE_BOX2D_INTEGRATION标记,并且让其=1,并让CC_ENABLE_CHIPMUNK_INTEGRATION=0.
Cocos2dx版本升级到3.10,然后运行TestCPP,想看下Box2d怎么用。
首先我是在TestCpp中添加预处理:CC_ENABLE_BOX2D_INTEGRATION=1,然后删除CC_ENABLE_CHIPMUNK_INTEGRATION,接着运行,
结果谁知道点击Box2dTest尽然崩溃。
如下:
void PhysicsSprite::setB2Body(b2Body *pBody)
{
#if CC_ENABLE_BOX2D_INTEGRATION
_pB2Body = pBody;
#else
CCASSERT(false, "Can't call box2d methods when Box2d is disabled"); -进入这里
#endif
}
才发现,在libExtensions中也有CC_ENABLE_BOX2D_INTEGRATION这个启动Box2d的宏开关。我看了看CCPhysicsSprite.cpp这个文件,在文件的头部,有行注释:
#if (CC_ENABLE_CHIPMUNK_INTEGRATION && CC_ENABLE_BOX2D_INTEGRATION)
#error "Either Chipmunk or Box2d should be enabled, but not both at the same time"
#endif
发现libcocos2d下的extension/ibExtensions库,只能同时支持一个物理引擎,要么Chipmunk要么就是Box2d,默认是支持Chipmunk的。所以我们需要设置libcocos2d预定义。
到此处,才真正找到根源,解决的办法就是给libcocos2d工程添加CC_ENABLE_BOX2D_INTEGRATION标记,并且让其=1,并让CC_ENABLE_CHIPMUNK_INTEGRATION=0.
相关文章推荐
- Exception in thread "http-bio-8080-exec-1" PermGen space
- Java中List Set Map的区别(转载自网络)
- OkHttp的深入研究:强大的功能(四)
- 安卓第八天笔记--网络编程二
- 华为商业宽带解决方案 助推政企用户享受宽带网络持续增值
- 网络IO之阻塞、非阻塞、同步、异步总结
- 实现一个反向传播人工神经网络
- 安卓获取网络类型
- Nim网络编程
- 用 Java 实现断点续传 (HTTP)
- iOS 第三方Reachability网络检测
- HTTPS-post请求
- http://www.jianshu.com/p/584707554ed7?ref=myread
- 极简反传(BP)神经网络
- iOS 判断网络类型(3G,4G,Wi-Fi)
- C# HttpWebRequest用Post同时提交参数和文件的封装类
- 在eclipse启动Tomcat服务,但是网页输入http://localhost:8080/报404错误的解决方法
- CentOS系统时间与网络同步
- OkHttp的深入研究:Jesse Wilson(三)
- OkHttp的深入研究:Jesse Wilson(二)