Cocos2d atau Box2d?

Saya sedang mengerjakan sebuah permainan dan saya perlu mendeteksi tabrakan antara garis dan poligon. Setelah banyak googling, sepertinya cocos2d tidak mendukung tabrakan poligon?

Saya dapat melakukan deteksi tabrakan garis dan persegi, tetapi tidak dapat melakukan poligon. Apakah saya harus pindah ke Box2d? Setiap saran sangat dihargai.


person vwee    schedule 21.03.2012    source sumber


Jawaban (2)


Cocos2D tidak menawarkan deteksi tabrakan apa pun. Yang Anda inginkan adalah uji perpotongan sinar vs poligon, itu dapat Anda lakukan dengan Box2D atau Chipmunk. Keduanya disertakan dalam Cocos2D (untuk iPhone). Box2D dan Chipmunk memungkinkan penerapan fisika permainan seperti gravitasi, angin, deteksi tabrakan, dll.

Jika Anda perlu melakukan deteksi 'semacam' di Cocos2D biasa maka saya merekomendasikan penggunaan fungsi CGRectContainsCGRect atau CGRectContainsCGPoint atau CGRectIntersectsCGRrect untuk melakukan hal yang sama. Ini mungkin membantu Anda mencapai apa yang Anda inginkan tetapi tidak akan sebaik penggunaan fisika game Box2D atau Chipmunk.

person LearnCocos2D    schedule 22.03.2012
comment
Saya kira saya tidak punya pilihan selain pindah ke Box2d. Terima kasih atas sarannya. - person vwee; 24.03.2012

cocos2d hanya menawarkan deteksi tabrakan sederhana seperti CCRect::rectContainsPoint(dalam cocos2d-x) atau rectIntersectsRect.

Jika poligon Anda berbentuk persegi panjang maka Anda dapat melakukan deteksi dengan menilai apakah ada titik pada garis yang terdapat pada persegi panjang tersebut.

person zhangxaochen    schedule 22.09.2012