物理エンジンライブラリ Box2DFlashAS3 ジョイント1(回転ジョイント・距離ジョイント)

ジョイントは、物体と物体を繋げて動かしたりもできる機能。
回転・距離・直動・滑車・歯車・マウスの6種類があります。

ここでは、回転ジョイントと距離ジョイントについてのメモ。

回転ジョイント(RevoluteJoint)

  • 物体と物体をピンで繋げるようなジョイント。
  • ピンを中心にくるくる回る。
  • モーターを使って回すことができる。
  • 回る角度の制限もできる。
使い方
  1. 繋げる2つの物体(b2Body)を指定
  2. 繋げる場所(座標)(b2Vec2)を1ヶ所指定
  3. ジョイントの性質(b2RevoluteJointDef)を設定(モーター使用・角度制限等)/li>
  4. ジョイントの初期化→ジョイント登録

距離ジョイント(DistanceJoint)

  • 物体と物体をロープで繋げるようなジョイント。
  • ロープに引っ張られながらそれぞれ勝手に動く。
  • 繋ぐ場所が2箇所あるのが、回転ジョイントと違う。

使い方

  1. 繋げる2つの物体(b2Body)を指定
  2. 繋げる場所(座標)(b2Vec2)を2ヶ所指定
  3. ジョイントの性質(b2DistanceJointDef)を設定(振動数?均衡等??ここの設定はわからないです…。)/li>
  4. ジョイントの初期化→ジョイント登録

サンプルコード

実行結果(きのこの谷)
20090305_swf_box2d_joint1

※Box2Dのまとめたクラス(Box2DBase)を作って、基本クラスで使ってます。ソースは物理エンジンライブラリ Box2DFlashAS3(基本)にあります。