J'ai plusieurs collisions configurées fonctionnant parfaitement dans mon application mais je ne peux pas pour la vie de moi obtenir les 2 collisions finales pour travailler sur le même nœud.Swift SpriteKit Configurer des collisions/contacts bitmasques avec 3 nœuds
Voici ce que j'ai:
alien.physicsBody!.contactTestBitMask = ColliderType.object.rawValue
alien.physicsBody!.categoryBitMask = ColliderType.object.rawValue | ColliderType.torp.rawValue
alien.physicsBody!.collisionBitMask = ColliderType.object.rawValue
ship.physicsBody!.contactTestBitMask = ColliderType.ship.rawValue | ColliderType.object.rawValue
ship.physicsBody!.categoryBitMask = ColliderType.ship.rawValue
ship.physicsBody!.collisionBitMask = ColliderType.ship.rawValue
torpedoNode.physicsBody!.contactTestBitMask = ColliderType.torp.rawValue
torpedoNode.physicsBody!.categoryBitMask = ColliderType.torp.rawValue
torpedoNode.physicsBody!.collisionBitMask = ColliderType.torp.rawValue
Comme le code est au-dessus, les contacts avec l'étranger Torp. Cependant, le navire ne contacte pas l'étranger.
Si je supprime "ColliderType.torp.rawValue" de la catégorie alienBitMask alors le navire DOIT contacter l'étranger, mais le torp ne contacte PAS le navire.
Pour le navire à contacter étranger J'utilise:
if contact.bodyA.categoryBitMask == ColliderType.object.rawValue || contact.bodyB.categoryBitMask == ColliderType.object.rawValue
Et pour le Torp à contacter l'étranger que j'utilise:
if contact.bodyA.categoryBitMask == ColliderType.torp.rawValue || contact.bodyB.categoryBitMask == ColliderType.torp.rawValue {
Comment puis-je obtenir à la fois pour travailler ?! J'ai passé des jours et je n'arrive pas à comprendre.
Je peux obtenir l'un ou l'autre pour fonctionner parfaitement pas tous les deux ensemble.
Avez-vous essayé de changer étrangers contact Torp et étranger? De plus, le masque de bits de la catégorie des extraterrestres doit être défini sur l'objet. – sicvayne
Désolé @sicvayne il y avait une erreur dans le code. Pour que le navire puisse contacter l'extraterrestre, il devrait être "Objet" "Objet". Il a été révisé –
Comme il est au-dessus du navire ne sera pas en contact avec alien à moins que je supprime le haut de la catégorie des étrangers. Mais en faisant cela, le torp et l'alien ne se heurtent pas. –