物理エンジンライブラリ Box2DFlashAS3(基本)

Box2DFlashAS3に再チャレンジです。バージョンは2.0.2を使用
使い方等ざっと自分用にまとめ。

使い方

  1. 領域(b2AABB)・重力(b2Vec2)・スリープ(Boolean)設定して、Box2Dの世界(b2World)作成
  2. 性質(b2ShapeDef)設定(素材(密度・摩擦力・反発力)、形状(多角形・円、サイズ))
  3. 配置(b2BodyDef)設定(配置座標、配置角度、表示用オブジェクト、スリープ指定)
  4. B2世界上で、配置から物体(b2Body)作成。物体上で性質から形状(b2Shape)作成。形状を固める。
  5. 一定時間毎(EnterFrameイベントなど)で演算させ、結果を表示用オブジェクトに反映させる

Box2Dの単位

  • Box2Dの単位はメートル。縦横1を指定した箱を作ると、縦横1メートルの箱を作ることになる。
  • Box2Dの指定・算出したサイズや座標の値をそのまま使うと、1ピクセル1メートルの世界になってしまう。でかい。
  • なので、スケールを指定してやって、100ピクセル1メートルとかにして使用する。

Box2Dの基点(原点)

  • Box2Dの基点は中心。
  • サイズ指定するときは、中心からの距離で指定する。
  • 長方形なら、辺の半分、円なら半径を指定、多角形は中心座標を指定して、そこから頂点の距離
  • 座標の指定も、左上ではなく、中心を指定。Flashでパーツを作る場合は、ステージの中心を原点にする。

サンプルコード

実行結果(きのこの丘)
きのこの丘

ベースのクラス(Box2Dの機能を適当にまとめたもの)

ベースを使っていろいろやるクラス