0

我有这个代码

SKPhysicsBody *firstBody, *secondBody;
if (contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask) {
    firstBody = contact.bodyA;
    secondBody = contact.bodyB;
} else {
    firstBody = contact.bodyB;
    secondBody = contact.bodyA;
}

在此处输入图像描述

我已经从我的-(void)didBeginContact:(nonnull SKPhysicsContact *)contact方法中捕获了这个屏幕截图。我觉得这很令人困惑,因为2 & 3 == 2, 但是4 & 3 == 0。如文档中所述,

如果任一比较结果为非零值,则会创建一个 SKPhysicsContact 对象并将其传递给物理世界的委托。

我想知道怎么可能?既然第二个表达式返回 0,为什么要调用委托方法?

4

0 回答 0