Asial Blog

Recruit! Asialで一緒に働きませんか?

Box2DFlashAS3を使ってFlash上で物理演算を行う

カテゴリ :
フロントエンド(HTML5)
タグ :
Tech
Flash
Box2D
物理演算
こんちは。松田です。
今日はそのうち試してみようと思いながらずっと放置してたBox2DFlashAS3を、今更ですがいじってみました。Box2Dはもともとc++用の物理演算ライブラリですが、それをFlash用にActionScriptで作られたのがBox2DFlashAS3です。

今回は以下の記事を参考にして勉強していきました。
http://gihyo.jp/dev/feature/01/box2d/

上記の記事のコードを最新版2.0.2のBox2Dを使用して試そうとすると、CreateStaticBody/CreateDynamicBodyの部分でエラーが出てしまうため、今回は記事と同じ2.0.0を使用してます。
過去バージョンも含めてBox2DFlashは以下からダウンロードできます。
http://sourceforge.net/project/showfiles.php?group_id=210232&package_id=252417

自分はFlexBuilder3を使って作成してるのですが、以下はその場合の初期設定方法です。
  1. ・上記URLからBox2DFlashAS3をダウンロードし解凍。
  2. ・FlexBuilderメニューの「ファイル」→「新規」→「ActionScriptプロジェクト」
  3. ・適当なプロジェクト名を指定してプロジェクトを作成。
  4. ・Flexナビゲータ内の生成したプロジェクト以下のsrcディレクトリ以下に解凍したファイルを全部つっこむ
  5. ・その中のMain.asを右クリックして「デフォルトのアプリケーションに設定」
  6. ・Ctrl+F11で実行
これでFlexBuilderから下のBox2Dのサンプルが実行できます。
(んでも自分の環境で生成するとピクリとも動きませんでした。。。なぜ・・・。)

本来のカッコイイサンプルはこちら


そして今回は勉強しながらドミノ倒しっぽいものを作ってみました。
ほんとはもっといろいろ仕込んでピタゴラスイッチ的なものを作りたかったんですが、まだまだ勉強が追いつかなかったので今回はこの辺で終了ということで・・・。

※ソースコードはここをクリック

このライブラリを使う用途がゲーム意外に思いつかないので、次の機会があればもうちょっとゲームっぽいモノを作ってみたいと思います。