我想在 spritekit 游戏中为我的超级英雄添加新的超能力。
一旦启用这个超能力,他将能够穿过任何其他SKPhysicsBody。
将 contactTestBitMask 设置为 0x00000000 将仅禁用接触检测 (didBeginContact:)。
self.hero.physicsBody.contactTestBitMask = 0x00000000;
当将dynamic设置为NO时,将让它通过任何SKPhysics主体(但同时它也会禁用重力)
self.hero.physicsBody.dynamic = NO;
我希望它穿过英雄,而不是仅仅禁用接触检测。
如何实现这一目标?
添加一个变量来告知您是否拥有加电,然后在运行激活加电的函数时将其设置为 true。在 didBegin 函数中,您应该添加一个 Guard else { return } 语句,条件是变量名称 == true。唯一需要注意的是在禁用开机时将变量设置回 false,否则开机将永远继续。