我正在使用swift 3和spritekit进行游戏,我需要一种方法让一个物理体的对象通过另一个物理体,同时仍然检测到碰撞而不是从它反弹(这是一种检查点系统所以我可以告诉玩家经历了多少个阶段)
答案 0 :(得分:0)
正如@PauloMattos指出的那样;设置两个对象的contactTestBitMask将触发didBegin函数,您可以在其中检查哪些对象已发生碰撞,并在需要时递增您的阶段。如果没有为这两个对象设置了collisionBitMask,则对象将相互通过而不会相互反弹。
值得指出的是,当检测到接触时,didBegin func将在对象穿过另一个对象的整个时间内继续检测接触。这可能会导致您的阶段增加数百次而不是一次。您可以做的是在检测到该联系人后设置一个标志,以便您可以过滤掉两个对象之间的其余联系。