Modul Matter.Collision mengandungi kaedah untuk mengesan perlanggaran antara pasangan jasad tertentu.
Untuk pengesanan cekap antara senarai badan, lihat Matter.Detector dan Matter.Query.
Lihat Matter.Engine untuk peristiwa perlanggaran.
Kaedah
Matter.Collision.collides(bodyA, bodyB, [pairs]) → Collision | Null
Mengesan perlanggaran antara dua badan.
Parameter
bodyA
Body bodyB
Body [pairs]
Pairs optional
Secara pilihan, gunakan semula rekod perlanggaran daripada pasangan sedia ada.
Pulangan
Collision | Null
Matter.Collision.create(bodyA, bodyB) → Collision
Mencipta rekod perlanggaran baharu.
Parameter
bodyA
Body Bahagian badan pertama yang diwakili oleh rekod perlanggaran bodyB
Body Bahagian badan kedua diwakili oleh rekod perlanggaran
Pulangan
Collision
Sifat / Pilihan
Sifat berikut jika dinyatakan di bawah adalah untuk objek yang dicipta oleh Matter.Collision.create dan boleh dihantar kepadanya sebagai pilihan.
collision.bodyA Body
Bahagian badan pertama yang diwakili oleh perlanggaran (lihat juga perlanggaran.parentA).
collision.bodyB Body
Bahagian badan kedua diwakili oleh perlanggaran (lihat juga perlanggaran.parentB).
collision.collided Boolean
Bendera yang menunjukkan jika mayat berlanggar semasa perlanggaran dikemas kini.
Lalai:false
collision.depth Number
Nombor yang mewakili jarak pemisahan minimum antara jasad sepanjang perlanggaran normal.
Lalai:0
collision.normal Vector
Vektor ternormal yang mewakili arah antara jasad yang menyediakan jarak pemisah minimum.
Lalai:{ x: 0, y: 0 }
collision.pair Pair | Null
Rujukan kepada pasangan yang menggunakan rekod perlanggaran ini, jika ada.
Lalai:null
collision.parentA Body
Jasad pertama yang diwakili oleh perlanggaran (iaitu perlanggaran.badanA.induk).
collision.parentB Body
Jasad kedua diwakili oleh perlanggaran (iaitu perlanggaran.badanB.induk).
collision.penetration Vector
Vektor yang mewakili arah dan kedalaman perlanggaran.
Lalai:{ x: 0, y: 0 }
collision.supportCount Number
Bilangan sokongan aktif untuk perlanggaran ini terdapat dalam perlanggaran.sokongan.
Catatan:Hanya perlanggaran pertama.supportCount item collision.supports aktif. Oleh itu gunakan collision.supportCount dan bukannya collision.supports.length apabila melelaran sokongan aktif.
Lalai:0
collision.supports Vector[]
Susunan bucu badan yang mewakili titik sokongan dalam perlanggaran.
Catatan:Hanya perlanggaran pertama.supportCount item collision.supports aktif. Oleh itu gunakan collision.supportCount dan bukannya collision.supports.length apabila melelaran sokongan aktif.
Ini adalah bucu terdalam (sepanjang perlanggaran normal) setiap jasad yang terkandung oleh bucu badan yang satu lagi.
Lalai:[]
collision.tangent Vector
Vektor ternormal yang merupakan arah tangen kepada normal perlanggaran.
Lalai:{ x: 0, y: 0 }