【问题标题】:PhyscisBody pass though another PhysicsBody while still detecting collisionPhysicsBody 穿过另一个 PhysicsBody 时仍然检测到碰撞
【发布时间】:2017-04-20 23:57:41
【问题描述】:

我正在使用 swift 3 和 spritekit 制作游戏,我需要一种方法让带有物理体的对象通过另一个物理体,同时仍然检测到碰撞但不反弹(有点像检查点系统,所以我可以告诉玩家经历了多少阶段)

【问题讨论】:

标签: swift sprite-kit


【解决方案1】:

正如@PauloMattos 指出的那样;设置两个对象的contactTestBitMask 将触发didBegin 函数,您可以在其中检查哪些对象发生了碰撞并在需要时增加您的阶段。如果您没有为这两个对象设置碰撞位掩码,则对象将相互穿过而不是相互反弹。

还值得指出的是,当检测到接触时,didBegin 函数将在对象穿过另一个对象的整个过程中一直检测到接触。这可能会导致您的阶段增加数百次而不是一次。您可以做的是在检测到该接触后设置一个标志,以便您可以过滤掉两个对象之间的其余接触。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    相关资源
    最近更新 更多