2

iPhone 用の cocos2D 内で box2D サンプル プロジェクトを試してみましたが、移動オブジェクトが特定の方向に移動し終わったときに、移動オブジェクトを静止オブジェクトに「くっつける」ために使用するのに box2D が適切なエンジンであるかどうか疑問に思っています。

これが私が達成しようとしていることの単純化です: 十分な力が適用されると、重力に逆らって垂直に動く動的剛体であるMovingObjectがあります。MovingObject が移動すると、静的オブジェクトである StationaryObject と重なる場合があります。重力がMovingObjectの速度をゼロに下げて動かなくなった場合、MovingObjectがStationaryObjectと重なっている場合にのみ、MovingObjectをそのままにしておきたいと思います。オブジェクトが重なっていない場合、MovingObject は重力によって地面に向かって下に戻り始めます。その降下中、MovingObject が StationaryObject とオーバーラップする場合はいつでも、その降下を停止し、StationaryObject に引っかかっているかのようにその場所に留まる必要があります。

私が適用している力に従ってMovingObjectを移動させることはできますが、StationaryObjectと重なっていると仮定して、上昇の頂点に達したら停止してそこにとどまる方法がよくわかりません。

現在、単純な正方形/ボックス オブジェクトを試していますが、最終的には両方の MovingObject StationaryObject が非常に異なる複雑な多角形として定義される予定です。

これを達成するための洞察や提案を事前に感謝します。

4

1 に答える 1

0

「MovingObject」が「上昇」しているときに使用するフィクスチャのタイプを変更し、「下降」しているときにそれを変更して、異なる反応(オーバーラップ)を行うようにしたいようです。

「オーバーラップ」とは、プラットフォーム ゲーム (つまり、マリオ ブラザーズ) で「片側プラットフォーム」に似た何かを達成したいように思えます。まず、片側プラットフォームのソリューションを検討することをお勧めします。

于 2010-12-28T07:03:41.933 に答える