3
私は誰もがあなたがBOX2D世界ではそうのような重力を追加することを言って見
b2Vec2 gravity = b2Vec2(0.0f, -10.0f);
bool doSleep = false;
world = new b2World(gravity, doSleep);
事はしかしある、私が唯一のCCSpriteからのuserDataが含まれている特定のb2Bodyに比重をしたい場合は? AFAIKこれは私が望んでいない世界のすべてに重力を適用するので、特定のb2Bodyだけにこの重力をどのように適用できるのか誰かが私に説明することができますか?
ありがとうございます!
EDIT1: 私はちょうど、代わりに世界の
_bottomBody->ApplyForce(gravity, _bottomBody->GetPosition());
=新しいb2World ...など、この行を行うことができます...それだけでb2Body上の重力とその仕事ではないでしょうか?
?私はちょうど上記の方法を使用するだろう、上記の1つのオブジェクトに適用する私のコードを変更する方法はありますか? –
あなたのアプリケーションに間違いなくフレームループ、つまりb2World :: step()を呼び出すプロシージャ/メソッドがあります。この手順の中で、指定された本文に対してapplyForceメソッドを呼び出す必要があります。この回答のコード例を参照してください。 –
アプリケーションにフレームループがありません。私のアプリは、Obj Cと混在したCocos2dとBox2d Mixedです。私はちょうどビューが更新されたときにすべての秒を呼び出すCocos2Dゲームループを使用します。そのコードが私の役に立つのであれば、元の投稿のEdit 1をチェックしてください。 –