我试图让两个已经相互接触的物理 body (实际上它们重叠,因为 physicBody.collisionCategory = 0; 对于两个物理 body ),根据命令重新启动/重新注册/重新触发他们的接触。即使我试图让 body1 在 body2 内移动一个像素以重新触发接触,我也无法做到这一点。我还删除了一个physicsBody 并在几秒钟后重新实例化它以重新触发接触。但没有任何作用。当两个 body 已经接触时,是否有某种方法或技术可以重新启动接触过程?
所以,让事情更清楚一点:
1) SpriteHuman 进入 SpritePanel。
2) -(void)didBeginContact:(SKPhysicsContact *)contact 注册联系人。
3) 我调用了一个再次开始第 2 步的方法,而 SpriteHuman 没有移动并且仍在联系 SpritePanel。
最佳答案
如果玩家对象接触某个对象,您可以将其 BOOL 属性设置为 YES。这将允许您连续运行您需要运行的任何代码。请记住,当失去联系时,还要将 BOOL 设置回 NO。
关于ios - 如何重新激活两个物理 body 之间的联系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31617818/