我正在使用Chipmunk 5 for iPhone,使用Cocos2D。在两个特定对象发生碰撞时,我想运行一个检查碰撞速度的方法,如果它超过x则运行一组代码,如果它在x下运行另一组代码。
现在,我理解了基础知识,但是我无法计算出运行碰撞检测方法的代码,以及检查影响速度的代码。
非常感谢任何帮助或指示。
干杯。
答案 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.)动能是一个更好的指标,表明碰撞的“坏”程度比冲动强度更好。