Le module Matter.Collision contient des méthodes permettant de détecter les collisions entre une paire de corps donnée.
Pour une détection efficace entre une liste de corps, consultez Matter.Detector et Matter.Query.
Voir Matter.Engine pour les événements de collision.
Méthodes
Matter.Collision.collides(bodyA, bodyB, [pairs]) → Collision | Null
Détectez la collision entre deux corps.
Paramètres
bodyA
Body bodyB
Body [pairs]
Pairs optional
Réutilisez éventuellement les enregistrements de collision des paires existantes.
Retour
Collision | Null
Matter.Collision.create(bodyA, bodyB) → Collision
Crée un nouvel enregistrement de collision.
Paramètres
bodyA
Body La première partie du corps représentée par l'enregistrement de collision bodyB
Body La deuxième partie du corps représentée par le dossier de collision
Retour
Collision
Propriétés / Options
Les propriétés suivantes, si elles sont spécifiées ci-dessous, concernent les objets créés par Matter.Collision.create et peuvent lui être transmises en tant qu'options.
collision.bodyA Body
La première partie du corps représentée par la collision (voir aussi collision.parentA).
collision.bodyB Body
La deuxième partie du corps représentée par la collision (voir aussi collision.parentB).
collision.collided Boolean
Un indicateur qui indique si les corps étaient en collision lors de la dernière mise à jour de la collision.
Défaut:false
collision.depth Number
Un nombre qui représente la distance de séparation minimale entre les corps le long de la normale de collision.
Défaut:0
collision.normal Vector
Un vecteur normalisé qui représente la direction entre les corps qui fournit la distance de séparation minimale.
Défaut:{ x: 0, y: 0 }
collision.pair Pair | Null
Une référence à la paire utilisant cet enregistrement de collision, s'il en existe un.
Défaut:null
collision.parentA Body
Le premier corps représenté par la collision (c'est-à-dire collision.bodyA.parent).
collision.parentB Body
Le deuxième corps représenté par la collision (c'est-à-dire collision.bodyB.parent).
collision.penetration Vector
Un vecteur qui représente la direction et la profondeur de la collision.
Défaut:{ x: 0, y: 0 }
collision.supportCount Number
Le nombre de supports actifs pour cette collision trouvés dans collision.supports.
Note:Seuls les premiers éléments collision.supportCount de collision.supports sont actifs. Par conséquent, utilisez collision.supportCount au lieu de collision.supports.length lors de l'itération des supports actifs.
Défaut:0
collision.supports Vector[]
Tableau de sommets du corps qui représentent les points de support dans la collision.
Note:Seuls les premiers éléments collision.supportCount de collision.supports sont actifs. Par conséquent, utilisez collision.supportCount au lieu de collision.supports.length lors de l'itération des supports actifs.
Ce sont les sommets les plus profonds (le long de la normale de collision) de chaque corps qui sont contenus par les sommets de l'autre corps.
Défaut:[]
collision.tangent Vector
Un vecteur normalisé qui est la direction tangente à la normale de collision.
Défaut:{ x: 0, y: 0 }