Berjenis tabrakan Box2D?

Saya telah melihat ada b2Manifold. Yang ingin saya capai adalah mendeteksi apakah tabrakan terjadi pada bagian atas salah satu objek yang bertabrakan atau tidak.

Saya sudah menyiapkan b2ContactListener dan berfungsi dengan baik. Saya hanya ingin memberikan tabrakan yang lebih akurat dengan mengatur manifold untuk mendeteksi apakah satu b2Body berada di atas b2Body lain yang bertabrakan.

Bagaimana saya melakukan ini?

Terima kasih!

http://postimage.org/image/kbfr7c5db/


person SimplyKiwi    schedule 18.07.2012    source sumber
comment
Lihatlah 'tabrakan manifold'. Anda bisa mendapatkannya dari fungsi pendengar kontak, dan memeriksa keadaan normal di sana, tapi itu tidak semudah itu. Ini mungkin membantu iforce2d.net/b2dtut/collision-anatomy   -  person iforce2d    schedule 18.07.2012
comment
Wow itu cukup sulit. Jika saya memberi Anda hadiah 50 poin, maukah Anda menunjukkan kepada saya kode persisnya yang saya perlukan untuk melihat apakah CCSprite dengan b2Body terlampir mendarat di atas CCSprite lain dengan b2Body juga terpasang padanya. Saat ini saya hanya menggunakan tutorial Ray Wenderlich di sini: raywenderlich.com/505/ ... Dan bagian itu berfungsi, saya hanya perlu memikirkannya.   -  person SimplyKiwi    schedule 19.07.2012
comment
Saya tidak tahu apa-apa tentang hal-hal CC, maaf. Mungkin cukup melihat posisi tubuh saat bertabrakan saja?   -  person iforce2d    schedule 19.07.2012
comment
Posisi yang berarti poin bijaksana? Sayangnya mereka terus bergerak sehingga tidak terlihat kecuali Anda bermaksud lain.   -  person SimplyKiwi    schedule 19.07.2012
comment
Posisikan seperti pada body-›GetPosition() saat bertabrakan. Maksud Anda, Anda ingin terus melacak ketika ada sesuatu di atas atau di bawah? Saya kira Anda bisa melihat lokasi titik manifold dalam hubungannya dengan bodi. Lebih baik lagi, Anda dapat memasang perlengkapan sensor pada bodi di lokasi yang sesuai dan menggunakan pendengar kontak untuk mengetahui kapan sensor menyentuh sesuatu - ini adalah cara yang disarankan. Lihat topik pertanyaan Bisakah saya melompat di situs saya di sana. Sensornya bisa berada di mana saja di tubuh dan Anda bisa memiliki lebih dari satu, misalnya. tinyurl.com/83jyvzh   -  person iforce2d    schedule 19.07.2012
comment
Oke, saya akan melakukannya. Satu pertanyaan terakhir, apakah sensor mempunyai posisi? Bisakah saya memeriksa apakah salah satu sensor berada di atas sensor lainnya? Karena masih ada kemungkinan saya mengenai sensor dari samping.   -  person SimplyKiwi    schedule 19.07.2012
comment
Anda dapat membuat sensor dalam bentuk apa pun yang Anda perlukan agar tidak terbentur dari samping. Itu bisa berupa lingkaran kecil atau kotak besar, dan Anda dapat memiliki banyak lingkaran.   -  person iforce2d    schedule 19.07.2012
comment
Saya bingung. Dalam bentuk apa pun, ia bisa dipukul dari samping, jadi mengapa itu penting? Saya juga melihat pertanyaan ini (dia mencoba mencapai hal yang sama seperti yang saya coba): stackoverflow.com/questions/7459208/   -  person SimplyKiwi    schedule 19.07.2012
comment
Bisakah Anda menunjukkan beberapa contoh bentuk yang Anda gunakan, dan kasus yang ingin Anda bedakan.   -  person iforce2d    schedule 19.07.2012
comment
Saya juga telah membuat gambar yang menjelaskan apa yang ingin saya lakukan, saya menambahkan link ke pertanyaan di atas.   -  person SimplyKiwi    schedule 19.07.2012
comment
Tunggu, apakah kita sedang membicarakan platform satu arah? Ini mungkin membantu iforce2d.net/b2dtut/one-way-walls   -  person iforce2d    schedule 19.07.2012
comment
Tautan itu sepertinya sesuai dengan apa yang saya inginkan. Meski banyak hal di dalamnya yang membuatku bingung. Seperti nilai kecepatan dan lain sebagainya. Saya tidak menggunakan nilai kecepatan apa pun di Box2D sehingga membingungkan. Jika Anda dapat memposting kode yang relevan tanpa nilai kecepatan yang membingungkan, saya akan menerima jawaban Anda dan memilihnya! Terima kasih atas semua bantuannya sejauh ini!!! :)   -  person SimplyKiwi    schedule 19.07.2012
comment
Maaf kawan. Kode yang relevan ada di halaman itu dan tidak datang tanpa nilai kecepatan... seperti yang Anda katakan, posisi Anda akan terus bergerak.   -  person iforce2d    schedule 20.07.2012
comment
Baiklah terima kasih atas bantuannya, saya akan memeriksanya lebih lanjut!   -  person SimplyKiwi    schedule 21.07.2012