如何禁用2个SKPhysicsBody之间的碰撞?

问题描述 投票:0回答:1

我想在 spritekit 游戏中为我的超级英雄添加新的超能力。

一旦启用这个超能力,他将能够穿过任何其他SKPhysicsBody。

将 contactTestBitMask 设置为 0x00000000 将仅禁用接触检测 (didBeginContact:)。

self.hero.physicsBody.contactTestBitMask = 0x00000000;

当将dynamic设置为NO时,将让它通过任何SKPhysics主体(但同时它也会禁用重力)

self.hero.physicsBody.dynamic = NO;

我希望它穿过英雄,而不是仅仅禁用接触检测。

如何实现这一目标?

ios sprite-kit skphysicsbody
1个回答
0
投票

添加一个变量来告知您是否拥有加电,然后在运行激活加电的函数时将其设置为 true。在 didBegin 函数中,您应该添加一个 Guard else { return } 语句,条件是变量名称 == true。唯一需要注意的是在禁用开机时将变量设置回 false,否则开机将永远继续。

© www.soinside.com 2019 - 2024. All rights reserved.