title: Problems contact between two SpriteNodes
body: <p>I have a problem with my <code>func</code> contact because the second contact don't work (contact with Bonus and Vaisseau) but the two others contact don't work.</p>
  
  <p>So this is my code : </p>
  
  <p>The function :</p>
  
  <pre><code>func didBeginContact(contact: SKPhysicsContact) {
  
          let PremierBody : SKPhysicsBody = contact.bodyA
          let SecondBody : SKPhysicsBody = contact.bodyB
  
          if ((PremierBody.categoryBitMask == PhysicsCategories.Meteorites) &amp;&amp; (SecondBody.categoryBitMask == PhysicsCategories.Meteorites)) {
              contactEntreMeteorites(PremierBody.node as! SKSpriteNode, Meteorites2: SecondBody.node as! SKSpriteNode)
          }
          else if ((PremierBody.categoryBitMask == PhysicsCategories.Bonus) &amp;&amp; (SecondBody.categoryBitMask == PhysicsCategories.Vaisseau) ||
              (PremierBody.categoryBitMask == PhysicsCategories.Vaisseau) &amp;&amp; (SecondBody.categoryBitMask == PhysicsCategories.Bonus)){
                  gameOver(PremierBody.node as! SKSpriteNode, Vaisseau: SecondBody.node as! SKSpriteNode)
                  print("CONTACT")
          }
          else if ((PremierBody.categoryBitMask == PhysicsCategories.Meteorites) &amp;&amp; (SecondBody.categoryBitMask == PhysicsCategories.Vaisseau) ||
          (PremierBody.categoryBitMask == PhysicsCategories.Vaisseau) &amp;&amp; (SecondBody.categoryBitMask == PhysicsCategories.Meteorites)){
          gameOver(PremierBody.node as! SKSpriteNode, Vaisseau: SecondBody.node as! SKSpriteNode)
              print("Couco")
          }
      } 
  </code></pre>
  
  <p>And this is my Physics categories : </p>
  
  <pre><code>struct PhysicsCategories {
      static let Meteorites : UInt32 = 1
      static let Bonus : UInt32 = 2
      static let Vaisseau : UInt32 = 5
  }
  </code></pre>
  
  <p>This in my func DidMoveToView : </p>
  
  <pre><code>Vaisseau = SKSpriteNode(texture: Vaisseau1)
          Vaisseau.position = CGPointMake(self.frame.size.width / 2, self.frame.size.height / 2)
          Vaisseau.physicsBody = SKPhysicsBody(rectangleOfSize: Vaisseau.size)
          Vaisseau.physicsBody?.affectedByGravity = false
          Vaisseau.physicsBody?.categoryBitMask = PhysicsCategories.Vaisseau
          Vaisseau.physicsBody?.contactTestBitMask = PhysicsCategories.Bonus
          Vaisseau.physicsBody?.contactTestBitMask = PhysicsCategories.Meteorites
          Vaisseau.physicsBody?.dynamic = false
          Vaisseau.setScale(0.08)
          self.addChild(Vaisseau)
  </code></pre>
  
  <p>And i create my <code>SpriteNode</code> Bonus in this function : </p>
  
  <pre><code>func ApparitionBonus() {
  
          let BonusSprite = SKSpriteNode(imageNamed: "Bonus.png")
          var BonusApparitionX = UInt32(self.frame.size.width)
          var BonusApparitionY = UInt32(self.frame.size.height)
  
          BonusApparitionX = arc4random() % BonusApparitionX
          BonusApparitionY = arc4random() % BonusApparitionY
  
          BonusSprite.position = CGPointMake(CGFloat(BonusApparitionX),CGFloat(BonusApparitionY))
          BonusSprite.setScale(0.8)
          BonusSprite.physicsBody = SKPhysicsBody(circleOfRadius: 20)
          BonusSprite.physicsBody?.affectedByGravity = false
          BonusSprite.physicsBody?.categoryBitMask = PhysicsCategories.Bonus
          BonusSprite.physicsBody?.contactTestBitMask = PhysicsCategories.Vaisseau
          BonusSprite.physicsBody?.dynamic = false
          self.addChild(BonusSprite)
  
          let RotationBonus = SKAction.rotateByAngle(CGFloat(M_PI), duration: 3)
          let wait = SKAction.waitForDuration(3)
          let actionFini = SKAction.removeFromParent()
          BonusSprite.runAction(SKAction.sequence([RotationBonus, wait, actionFini]))
          BonusSprite.runAction(SKAction.repeatActionForever(RotationBonus))
      }
  </code></pre>