サイトのトップへ戻る

AndEngineドキュメント 日本語訳

Physics Worldを作成する:

Physics Worldとは何か? それは、ゲームを物理的に表現したものです。
  • 物理演算の拡張が、あなたのプロジェクトにリンクされていることを確認してください。
physics worldを新規作成する時、標準のものと FixedStepPhysicsWorld の二つのメインタイプから選ぶことができます。 それらは何が違うのでしょうか? FixedStepPhysicsWorld にはFPSを司る追加パラメータがあり、毎秒ごとに特定のステップ数を実行しようとします。

以下が、新規にphysics worldを作成する例です:

private PhysicsWorld physicsWorld;

private void initPhysics()
{
    physicsWorld = new PhysicsWorld(new Vector2(0, SensorManager.GRAVITY_EARTH), false);
    yourScene.registerUpdateHandler(physicsWorld);
}


1. どうやって重力を制御するか?

新しいphysics worldを作成する際に、重力を制御する二つのパラメータを渡した 新規 Vector2 を設定しなければなりません。 一つ目は x-componentのパラメータで、二つ目はy-componentのパラメータです。ほとんどの場合、一つ目のパラメータには0を使用します。 しかし、例えば風などのように、y-componentの力に刺激を加えたい場合は、独自の値を設定することもできます。



2. FixedStepPhysicsWorldを使用する:

FixedStepPhysicsWorldの作成方法もほとんど同じで、主な違いは別のクラス(標準PhysicsWorldのサブクラス)を使用するということくらいです。 これを実装するには、前に述べたようにFPSカウントを司る追加のパラメータが一つ以上必要になります。 FixedStepPhysicsWorldは、毎秒ごとに特定のステップ数を実行しようとします。 この値を設定しなければならないといった固定値はありません。全てあなたの要求次第です。 スムーズな物理演算を行うためには、異なる値が必要になることがあるので注意してください。 しかし、大きな値を設定すると低スペックの端末にとって負荷になるので、その点を考慮してください。