ActionScript3.0用物理エンジン
『Box2DFlashAS3』
そんなBox2Dを実際に使って簡単なサンプルを作ってみようと思います。
一気に書くと長くなりそうなので何回かに分けてになりますが(^^;)
何を作ると言うのは次回のネタとしておいてまずは最初に設定しておかないとい
けない基本から。(使用しているBox2Dのバージョンは2.0.2)
・Box2Dワールドを構築
最初に座標を設定してBox2Dがシミュレーション可能な範囲を設定します。
// シミュレート範囲を設定
var worldAABB:b2AABB = new b2AABB();
// 座標の最小値(x,y)
worldAABB.lowerBound.Set(-1, -1);
// 座標の最大値(x,y)
worldAABB.upperBound.Set(10, 10);
ここで注意しないといけないのがBox2Dの座標の単位がピクセルではなくメート
ルであること。
設定にもよるのですが、基本的には 100ピクセル=1メートルとなるので気をつ
けて下さい。
続きましてワールドの重力を設定したいと思います。
// 重力
var g:b2Vec2 = new b2Vec2( 0, 9.8 );
b2Vec2はBox2DのPointクラスのようなものです。
今回は縦方向に正の重力を設定しました(実際の重力:9.80665)
最後にBox2Dのワールドの構築式を書いて終了です。
var world:b2World = new b2World( worldAABB, g, true );
これで実際の重力加速度を持った、最小座標(-100, -100)から最大座標(1000,
1000)のBox2Dワールドが構築されました。
ちなみに
>>new b2World( worldAABB, g, true );
の最後のtrueは停止しているオブジェクトに対し計算を行うかどうか判別するフ
ラグです。
次回はオブジェクトを表示する所までご紹介したいと思います。