Apple Sprite Kit を使用して小さなゲームを書いています。
衝突で困っています。物理ボディを持つ 2 つの skSpriteNode を相互作用させたくない場合があります。
例として、 HERO 、 ENEMYS 、および SHOTS があり、SHOTS が ENEMYS とのみ相互作用するようにします。
しかし、2 つのショットが衝突すると、位置が変わります。
ショットのコードは
shot.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:shot.size];
shot.physicsBody.dynamic = YES;
shot.physicsBody.allowsRotation = FALSE;
shot.physicsBody.categoryBitMask = playerShotCategory;
shot.physicsBody.contactTestBitMask = enemyCategory;
敵のコードは
activeGameObject.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:activeGameObject.size];
activeGameObject.physicsBody.dynamic = YES;
activeGameObject.physicsBody.categoryBitMask = enemyCategory;
activeGameObject.physicsBody.contactTestBitMask = playerCategory | playerShotCategory;
activeGameObject.physicsBody.allowsRotation = FALSE;