【问题标题】:How to make two same spritekit nodes to ignore collisions如何使两个相同的 spritekit 节点忽略碰撞
【发布时间】:2014-07-06 09:06:11
【问题描述】:

我希望相同对象类型的两个节点在不发生冲突的情况下相互忽略。根据苹果文档,

“这个身体的碰撞掩码通过执行逻辑与运算与另一个身体的类别掩码进行比较。如果结果是非零值,那么这个身体会受到碰撞的影响。”

所以,我设置

ball.physics.categoryBitMask = 0x00000000;
ball.physics.collisionBitMask = 0x00000000;

这将使逻辑与运算结果为零,但由于某种原因它们仍然相互碰撞。

你如何让它相互通过?

【问题讨论】:

    标签: ios xcode sprite-kit collision-detection


    【解决方案1】:

    您将球设置为与自身相撞。设置:

    static const uint32_t ballCategory        =  0x1 << 1;
    

    更改您的位掩码:

    ball.physics.categoryBitMask = ballCategory;
    ball.physics.collisionBitMask = 0;
    

    【讨论】:

      【解决方案2】:

      不要将类别掩码设置为 0 。

      【讨论】:

      • 您的类别掩码声明可能有问题。尝试设置 static const uint32_t ballCategory = 0x1
      猜你喜欢
      • 2013-10-07
      • 2020-05-24
      • 1970-01-01
      • 2017-07-27
      • 2022-10-04
      • 1970-01-01
      • 2018-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多