如何使两个相同的spritekit节点忽略冲突

时间:2014-07-06 09:06:11

标签: ios xcode sprite-kit collision-detection

我希望同一对象类型的两个节点互不忽略而不会发生冲突。根据苹果文档,

“通过执行逻辑AND运算,将此物体的碰撞遮罩与其他物体的类别遮罩进行比较。如果结果为非零值,则此物体会受到碰撞的影响。”

所以,我设置了

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

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

你如何让它通过彼此?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您正在设置球与自身发生碰撞。设置:

static const uint32_t ballCategory        =  0x1 << 1;

更改位掩码:

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