Cocos2D を使用して、iPhone 用の Chipmunk 5 を使用しています。2 つの特定のオブジェクト間の衝突時に、その衝突の速度をチェックするメソッドを実行したいと思います。x を超えている場合は 1 つのコード セットを実行し、x の下にある場合は別のセットを実行します。
これで、基本は理解できましたが、衝突検出のメソッドを実行するコードと衝突速度をチェックするコードがわかりません。
どんな助けや指針も大歓迎です。
乾杯。
Cocos2D を使用して、iPhone 用の Chipmunk 5 を使用しています。2 つの特定のオブジェクト間の衝突時に、その衝突の速度をチェックするメソッドを実行したいと思います。x を超えている場合は 1 つのコード セットを実行し、x の下にある場合は別のセットを実行します。
これで、基本は理解できましたが、衝突検出のメソッドを実行するコードと衝突速度をチェックするコードがわかりません。
どんな助けや指針も大歓迎です。
乾杯。
衝突の登録に役立つかもしれないのaddCollisionCallbackBetweenType
関数をチェックしてください。SpaceManager.h
その後、速度のオブジェクトのv
プロパティを確認できます。(http://code.google.com/p/chipmunk-physics/source/browse/trunk/include/chipmunk/cpBody.h、リンクされていない、新しいユーザー。)cpBody
cpVect
私はシマリスの経験はありませんが、それは少しグーグルが現れたものです。
Chipmunk 5の場合、サウンドを再生したり、衝突によるダメージを適用したりする場合は、解決後のコールバックからcpArbiterTotalImpulse()関数を呼び出すことをお勧めします。詳細については、こちらのドキュメントをご覧ください。 http://chipmunk-physics.net/release/Chipmunk-5.x/Chipmunk-5.3.5-Docs/#Callbacks
また、Chipmunk5はこの時点ではかなり古いものです。面倒ではない場合は、6.xにアップグレードすることをお勧めします。次に、cpArbiterTotalKE()関数を使用できます。(ただし、既存のプロジェクトの終わりに近づいている場合は、5.xを使用します。)運動エネルギーは、衝突がインパルス強度よりも「悪い」ことを示すさらに優れた指標です。