检查Chipmunk Physics中的碰撞速度

时间:2010-07-03 15:13:25

标签: iphone performance collision chipmunk

我正在使用Chipmunk 5 for iPhone,使用Cocos2D。在两个特定对象发生碰撞时,我想运行一个检查碰撞速度的方法,如果它超过x则运行一组代码,如果它在x下运行另一组代码。

现在,我理解了基础知识,但是我无法计算出运行碰撞检测方法的代码,以及检查影响速度的代码。

非常感谢任何帮助或指示。

干杯。

2 个答案:

答案 0 :(得分:0)

查看SpaceManager.h中的addCollisionCallbackBetweenType功能,这有助于注册冲突。

之后,您可以检查v对象的cpBody属性,cpVect的速度。 (http://code.google.com/p/chipmunk-physics/source/browse/trunk/include/chipmunk/cpBody.h,未链接的新用户。)

我对花栗鼠没有经验,但这就是一个小小的谷歌搜索。

答案 1 :(得分:0)

对于花栗鼠5,假设您想要发出声音或应用碰撞造成的伤害,我建议您从解决后的回调中调用cpArbiterTotalImpulse()函数。您可以在此处的文档中找到更多信息。 http://chipmunk-physics.net/release/Chipmunk-5.x/Chipmunk-5.3.5-Docs/#Callbacks

此外,Chipmunk 5在这一点上相当老。如果这不麻烦,我建议升级到6.x.然后你可以使用cpArbiterTotalKE()函数。 (如果你接近现有项目的末尾,我只会坚持使用5.x.)动能是一个更好的指标,表明碰撞的“坏”程度比冲动强度更好。