如何重新激活两个 physicsBody 之间的联系
How to reactivate contact between two physicsBody's
我正在尝试获取两个已经相互接触的 physicsBody(实际上它们是重叠的,因为 physicBody.collisionCategory = 0;对于两个 physicsBody's),restart/re-register/re-trigger 它们的接触,根据命令。即使我试图让 body1 在 body2 内移动一个像素以重新触发接触,我也无法做到这一点。我还删除了一个 physicsBody 并在几秒钟后重新实例化它以重新触发接触。但没有任何效果。当两个物体已经接触时,是否有某种方法或技术可以重新启动接触过程?
所以,为了让事情更清楚一点:
1) SpriteHuman 走上 SpritePanel。
2) -(void)didBeginContact:(SKPhysicsContact *)contact 注册联系人。
3) 我调用了一个方法再次开始步骤 2,而 SpriteHuman 没有移动并且仍在联系 SpritePanel。
如果玩家对象与某个对象接触,您可以将 BOOL 属性 设置为 YES。这将允许您连续 运行 需要 运行 的任何代码。请记住在失去联系时也将 BOOL 设置回 NO。
我正在尝试获取两个已经相互接触的 physicsBody(实际上它们是重叠的,因为 physicBody.collisionCategory = 0;对于两个 physicsBody's),restart/re-register/re-trigger 它们的接触,根据命令。即使我试图让 body1 在 body2 内移动一个像素以重新触发接触,我也无法做到这一点。我还删除了一个 physicsBody 并在几秒钟后重新实例化它以重新触发接触。但没有任何效果。当两个物体已经接触时,是否有某种方法或技术可以重新启动接触过程?
所以,为了让事情更清楚一点:
1) SpriteHuman 走上 SpritePanel。
2) -(void)didBeginContact:(SKPhysicsContact *)contact 注册联系人。
3) 我调用了一个方法再次开始步骤 2,而 SpriteHuman 没有移动并且仍在联系 SpritePanel。
如果玩家对象与某个对象接触,您可以将 BOOL 属性 设置为 YES。这将允许您连续 运行 需要 运行 的任何代码。请记住在失去联系时也将 BOOL 设置回 NO。