私はこのコードを持っています
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 オブジェクトが作成され、物理ワールドのデリゲートに渡されます。
どうすればそれが可能になるのだろうか?2 番目の式は 0 を返すので、デリゲート メソッドが呼び出されるのはなぜですか?