我正在使用Chipmunk物理,並且想要做碰撞檢測以找出2個cpBody碰撞的時間。我有一些問題;Cocos2D花栗鼠,碰撞檢測 - 最佳實踐?
- 你能給我一個使用cpCollPairFunc或cpSpaceAddCollisionHandler的例子嗎?
- 我已經看到矩形交叉點周圍;多邊形可能嗎?
- 我應該在頂部使用另一個庫(SpaceManager或其他)嗎?
謝謝!
F.
我正在使用Chipmunk物理,並且想要做碰撞檢測以找出2個cpBody碰撞的時間。我有一些問題;Cocos2D花栗鼠,碰撞檢測 - 最佳實踐?
謝謝!
F.
喬感謝您的回覆;電暈不是免費的,不是。
最後的救星是: http://www.cocos2d-iphone.org/forum/topic/9425和cpSpaceAddCollisionHandler方法。
您需要添加下列行
形狀 - > collision_type = kCollisionTypeParticle;
cpSpaceAddCollisionHandler(space_,kCollisionTypeParticle,kCollisionTypeParticle,collisonDetect,NULL,NULL,NULL,self);
kCollisionTypeParticle是枚舉,您可以定義它,如果有兩種類型的不同粒子。
的typedef枚舉{
kCollisionTypeParticle,
kCollisionTypeParticleNew
} CollisionType;
這裏collisonDetect是我們需要註冊的方法爲:
cpBool collisonDetect(cpArbiter * ARB,結構cpSpace *空間,無效*數據) {
*層=(*)數據;
[layer collisonDetect:arb];
return cpTrue;
}
現在,這裏在這裏你會處理代碼
的休息 - (空)collisonDetect:(cpArbiter *)ARB {
的NSLog(@」 COLLISION DETECTED「);
}
你在問題衆多遍地粘貼了相同的答案。如果你打算這樣做,至少要經歷學習如何正確格式化代碼的'麻煩'。看看編輯器中的按鈕,瞭解EACH的功能,以及每個功能的結果。 – 2012-12-11 12:10:37
謝謝Steen我會那麼做:) – 2012-12-11 12:15:37