title: Sprite Kit collisions for multiple collisions
body: <p>I have looked, and have found answers for single collisions, but I am looking for a way to detect more than one type of collision. I am making a game where there are 3 collisions I would like. The user plane colliding with enemy bullets, the user's bullet colliding with the enemy plane (which i have working already), and the enemy bullet and user bullet colliding. I have all the categoryBitMask and contactTestBitMask set up and correct. Here is my delegate method. </p>
  
  <pre><code> - (void) didBeginContact:(SKPhysicsContact *)contact {
  
  SKPhysicsBody *firstBody, *secondBody;
  
  
  if (contact.bodyA.categoryBitMask &lt; contact.bodyB.categoryBitMask)
  {
      firstBody = contact.bodyA;
      secondBody = contact.bodyB;
  }
  else
  {
      firstBody = contact.bodyB;
      secondBody = contact.bodyA;
  }
  
  // if user plane hits enemy bullet
  if ((firstBody.categoryBitMask == playerShipCategory) &amp;&amp;
      (secondBody.categoryBitMask == enemyBulletCategory)) {
  
      [self takeDamageByAmount:POINT_INCREMENTER];
      [_enemyBullet removeFromParent];
      SKAction *bounce = [SKAction sequence:@[
                                              [SKAction fadeAlphaTo:.5 duration:.2],
                                              [SKAction fadeAlphaTo:1.0 duration:.2],
                                              [SKAction fadeAlphaTo:.5 duration:.2],
                                              [SKAction fadeAlphaTo:1.0 duration:.2]
                                              ]];
      [_playerPlane runAction:bounce];
  }
  
  // if the user bullet hits the enemy bullet
  else if ((firstBody.categoryBitMask == bulletCategory) &amp;&amp;
     (secondBody.categoryBitMask == enemyBulletCategory)) {
      [_enemyBullet removeFromParent];
      [_bullet removeFromParent];
  }
  
  // if bullet hits enemy ship - THIS ONE WORKS, but none of the others work for some reason
  else if ((firstBody.categoryBitMask == bulletCategory) &amp;&amp;
      (secondBody.categoryBitMask == enemyShipCategory)) {
  
      [self gainPointsByAmoint:POINT_INCREMENTER];
      [self projectile:(SKSpriteNode *)firstBody.node didCollideWithMonster:(SKSpriteNode *)secondBody.node];
  }
  }
  </code></pre>