Dan*_*zek 6 box2d chipmunk cocos2d-iphone ios
对于基于Cocos2d的项目,我只想使用物理工具包进行碰撞检测.使用Chipmunk或Box2d有什么优缺点?
根据这个答案, Chipmunk不支持连续碰撞检测,但Box2D确实如此.这对于防止"隧穿"(物体在高速移动时略微穿过彼此)非常重要
Steffen Itterheim对他的Box2D与Chipmunk的评论澄清了这一点: 如果您将拥有非常快速移动的物理对象,例如"子弹",请考虑使用Box2D,因为它可以扫描碰撞,即连续碰撞集成,以防止快速移动的对象从深入穿透甚至穿过其他物体.
该花栗鼠碰撞检测文档谈论一个separate()
回调.两个形状刚刚第一次停止触摸这一步.但我不清楚这是否有影响他们快速检测碰撞的能力.
使用Box2D进行突破游戏也有一个非常负面的意见我目前的游戏是使用Box2D,我希望我使用Chipmunk ...主要是因为Box2D有两个严重的问题,在我的游戏中加剧:首先,它有一个非常老的错误,对象在角落里"躲避",我的游戏是一个突破性的游戏,所以当球在墙上"滚动"时,有时它会被阻挡并被扔离墙壁,很多人都会问为什么我的游戏物理学看起来"随机".
结论:我也很困惑.
我们在谈论哪种碰撞?
如果您只需要这些:
然后,您根本不需要物理引擎,也不必编写自己的碰撞检测算法。
花栗鼠和Box2D可以很好地处理碰撞。我认为,如果有人问“哪个更好”,对您来说就不重要了。相反,问自己是否更喜欢使用C(Chipmunk)或C ++(Box2D)。
同样,您更喜欢使用面向对象的详细API(Box2D)还是功能强大的缩写API(Chipmunk)?
您的决定基于什么使您更容易使用,而不是基于一个任意的,不确定的且高度主观的想法来判断一个物理引擎是否可能优于另一个,因为技术差异很小,您只能评估它们对物理引擎的影响如果您都非常了解自己的游戏设计和物理引擎的内部算法,那么您就可以设计自己的游戏。