用Chipmunk检测两种或多种形状的碰撞

时间:2011-05-11 18:04:32

标签: ios ipad cocos2d-iphone chipmunk

我想知道是否有人可以建议检测多个形状之间碰撞的最佳方法。

我在iOS 4.2和Cocos2D 1.0的iPad上使用 Chipmunk - 我基本上有一个围绕iPad屏幕的 cpShape - 有两段 cpShape (以V形排列)我想知道我的旅行形状何时触及 BOTH 段形状(即相应的精灵舒适地坐在V里面)

有什么想法吗?我已经用 cpSpaceAddCollisionHandler 设置回调,但我似乎没有当前碰撞形状所触及的所有形状的列表。这是可能的还是我必须手动编码和存储信息?

由于

1 个答案:

答案 0 :(得分:0)

我认为你必须在你的精灵对象中存储一些数据。

花栗鼠中有回调,当2个物体第一次接触时,它们就会分开。

  • 开始:这个步骤第一次开始触摸两个形状。从回调中返回true以正常处理碰撞或false以使Chipmunk完全忽略碰撞。如果你返回false,那么pre-solve和post-solve回调将永远不会被运行,但是当形状停止重叠时你仍会收到一个单独的事件。

  • 分开:这个步骤第一次停止触摸两个形状。

你可以让“坐在V里面”的对象在V的每一边都有一个2 bool的对象,当它们“开始”时为真,在它们分开时为假。

如果它们都是真的,并且对象是睡眠(停止移动)(我来自box2d背景,不确定花栗鼠的等价物是什么)。

希望有所帮助。