在SpriteKit中更改contactTestBitMask后检测联系人

时间:2015-03-26 14:37:56

标签: ios swift sprite-kit collision-detection collision

我目前正在使用SpriteKit在Swift中创建2D游戏,而且我遇到了碰撞检测问题。

让我们说我在游戏中有SKSpriteNode Foo。然后让我们说SKSpriteNode Bar在Foo之上产生,但是没有contactTestBitMask来触发联系。然后在片刻之后(让我们说1秒)Bar改变其contactTestBitMask以检测与Foo的联系。

目前,Foo必须实际移动一点点,或者从Bar下移出并返回到它以检测与它的联系。我需要Bar在更改其contactTestBitMask时立即触发与Foo的联系。

在不更改contactTestBitMask的情况下,可能有不同的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果创建一个物理体对象与另一个物理体对象相交,则不会记录任何碰撞。它与SK通过运动记录碰撞的方式有关。

您可以选择在创建对象时使用intersectsNode:,以查看它是否与另一个对象相交并相应地处理任何后续代码。