物理引擎比较:Box2D 对比 Chipmunk
来源:互联网 发布:2016欧洲杯网络直播权 编辑:程序博客网 时间:2024/05/29 17:24
Cocos2d 自带了两套物理引擎:Box2D 和 Chipmunk。那么我们应该选择哪一个呢?
很多情况下,这个选择取决于个人口味。很多游戏开发者对这两个物理引擎的 争论集中于它们所用的编程语言:Box2D 是用 C++写的,而 Chipmunk 用的是 C。
你可能因为 C++接口而更喜欢 Box2D。使用 C++的好处是它可以很好地与同样是 面向对象的 Objective-C 进行整合。而且 Box2D 中的变量和方法名都是用全称 命名的,相比之下,Chipmunk 中很多地方用的是只有一个字母的简写。再者, Box2D 中使用了运算符重载(Operator Overloading),例如,你可以将两个 矢量(vector)直接相加:
b2Vec2 newVec = vec1 + vec2;
有一些功能只有Box2D提供,Chipmunk是没有的。比如,Box2D有针对快速移动 物体(例如子弹)直接穿透物体而不进行碰撞测试的解决方法。
如果你不是很熟悉C++的话,你可能会发现学习C++是要花费挺多时间和精力的。 这样的话,对于熟悉C语言语法或者喜欢更简单一些的物理引擎的你,可以选择 Chipmunk。因为Chipmunk早Box2D几个月整合进cocos2d之中,所以网上关于 Chipmunk的教程和论坛帖子也相对多一些。不过Box2D的教程数量也在赶上来。
不过有个事情要预先给你提个醒:Chipmunk使用了C的structures,它会暴露内 部的域。如果你是在做试验,并且不知道某些域是拿来做什么用的,而且没有 文档解释这些域的话,你就不应该改变它们 – 因为它们只被用于内部。
Chipmunk有一个很受欢迎的Objective-C接口,叫做SpaceManager。你可以利用 SpaceManger很容易地把cocos2d精灵添加到刚体上,添加调试用的绘图等。你 可以通过以下链接下载Chipmunk的SpaceManager: http://code.google.com/p/chipmunk-spacemanager
对于功能来说,两个选择都差不多。除非你的游戏依赖于某个物理引擎特有的 功能,否则你可以使用任何一个引擎。特别是如果你对任何一个物理引擎都不 熟悉,那么你可以根据引擎所使用的语言的编程风格来选择自己喜欢的引擎。
转自:http://daniel-555.blog.163.com/blog/static/1147929352013433057480/
- 物理引擎比较:Box2D 对比 Chipmunk
- 物理引擎Box2d与Chipmunk比较
- Box2D和Chipmunk的对比 Cocos2d-x物理引擎
- Cocos2d-x 3.0中的新物理引擎:Chipmunk和Box2d
- cocos2dx-3.0 中的关于物理引擎Box2D与chipmunk
- cocos2dx-3.0 中的关于物理引擎Box2D与chipmunk
- chipmunk物理引擎
- 物理引擎chipmunk
- 物理引擎chipmunk
- 物理引擎chipmunk
- Chipmunk物理引擎总结
- Chipmunk物理引擎
- APE物理引擎与Box2D物理引擎对比(初学)
- 【amazing cocos2d-x 3.0之十六】新物理引擎,来谈谈chipmunk和Box2d
- cocos2d - JS 物理引擎 - chipmunk
- box2d物理引擎学习
- Box2D物理引擎介绍
- Box2d,物理引擎
- 快速幂取模
- CSS 小技巧_03
- Error: GNOME Power Manager have not been installed correctly
- ANSI、Unicode、UTF8相互转化的函数
- 使用Js脚本 修改控制IE的注册表相关设置(activex等)
- 物理引擎比较:Box2D 对比 Chipmunk
- HDOJ 题目3951Coin Game(博弈)
- ubuntu常用命令及技巧
- 阿里巴巴校招2015——研发在线笔试 20140829
- 修改注册表实现未签名ActiveX控件自动安装
- PAT 1068. Find More Coins
- 1011 - Marriage Ceremonies[状态压缩dp]
- mini2440裸机试炼之——整合
- TQ2440上LED灯闪烁效果的驱动程序实现