2011-04-30 39 views
0

我正在使用Chipmunk物理,並且想要做碰撞檢測以找出2個cpBody碰撞的時間。我有一些問題;Cocos2D花栗鼠,碰撞檢測 - 最佳實踐?

  • 你能給我一個使用cpCollPairFunc或cpSpaceAddCollisionHandler的例子嗎?
  • 我已經看到矩形交叉點周圍;多邊形可能嗎?
  • 我應該在頂部使用另一個庫(SpaceManager或其他)嗎?

謝謝!

F.

回答

0

您需要添加下列行

形狀 - > 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「);

}

+0

你在問題衆多遍地粘貼了相同的答案。如果你打算這樣做,至少要經歷學習如何正確格式化代碼的'麻煩'。看看編輯器中的按鈕,瞭解EACH的功能,以及每個功能的結果。 – 2012-12-11 12:10:37

+0

謝謝Steen我會那麼做:) – 2012-12-11 12:15:37