ずっと物理エンジンに手を出そうと思ってて手が着かなかったけど、最近ようやく触ったからメモ。
物理エンジンと言っても色々種類があってどれが良いのか迷った。
最終候補として「Box2DFlashAS3」と「APE」が上がったけど、APEは開発が止まっているというのをどっかの記事で見たのでBox2DFlashAS3で進めることにした。
(ただ、APEは絵として反映させるのがすごい簡単なのでとても惜しい)
そして実際にBox2DFlashAS3を触ってみたけど、難しい。
演算とグラフィック表示のコーディングが切り離されて、Flashでプログラムを始めたデザイナーの自分には敷居がちょっと高い。。
さらに最近バージョンアップがあって、最新バージョン(2.0.0)の情報がすげー少ない。ほぼどの記事を見ても1.4.3の内容で書かれている。
けどせっかくだからあきらめずにやる。「雨だれ石をも穿つ」だ。
物理エンジンと言っても色々種類があってどれが良いのか迷った。
最終候補として「Box2DFlashAS3」と「APE」が上がったけど、APEは開発が止まっているというのをどっかの記事で見たのでBox2DFlashAS3で進めることにした。
(ただ、APEは絵として反映させるのがすごい簡単なのでとても惜しい)
そして実際にBox2DFlashAS3を触ってみたけど、難しい。
演算とグラフィック表示のコーディングが切り離されて、Flashでプログラムを始めたデザイナーの自分には敷居がちょっと高い。。
さらに最近バージョンアップがあって、最新バージョン(2.0.0)の情報がすげー少ない。ほぼどの記事を見ても1.4.3の内容で書かれている。
けどせっかくだからあきらめずにやる。「雨だれ石をも穿つ」だ。
まずはPV3Dの様に、worldを生成しなければならない。
次にオブジェクトを生成する。
オブジェクトの形には次の2種類がある。
・b2CircleDef(円形オブジェクト)
・b2PolygonDef(多角形オブジェクト)
b2CircleDefはそのまま円形のオブジェクトが作れる。
b2PolygonDefは最大8角までの多角形オブジェクトがつくれる。
(バージョン1.4.3には、多角形オブジェクトの種類としてb2BoxDefとb2PolyDefの2つがあり、それぞれ四角形と多角形って感じみたい。)
実際のコードは以下の様な感じ。 この中で「CreateDynamicBody」というのは動く物体を生成するメソッド。
固定された物体を作る場合は「CreateStaticBody」を使う。
ここでパブリッシュしても、まだグラフィッックの表示設定をしてないので画面には何も表示されない。
そんな時はデバッグモードで確認する。
以下の関数を呼び出せばデバッグモードで画面が表示される。 最後に毎フレーム演算と描画をしなければならないのでEventListener用の関数を用意 今回はこの辺で。
次回はグラフィッックを反映させてみる。
一応全ソース。
オブジェクトの形には次の2種類がある。
・b2CircleDef(円形オブジェクト)
・b2PolygonDef(多角形オブジェクト)
b2CircleDefはそのまま円形のオブジェクトが作れる。
b2PolygonDefは最大8角までの多角形オブジェクトがつくれる。
(バージョン1.4.3には、多角形オブジェクトの種類としてb2BoxDefとb2PolyDefの2つがあり、それぞれ四角形と多角形って感じみたい。)
実際のコードは以下の様な感じ。 この中で「CreateDynamicBody」というのは動く物体を生成するメソッド。
固定された物体を作る場合は「CreateStaticBody」を使う。
ここでパブリッシュしても、まだグラフィッックの表示設定をしてないので画面には何も表示されない。
そんな時はデバッグモードで確認する。
以下の関数を呼び出せばデバッグモードで画面が表示される。 最後に毎フレーム演算と描画をしなければならないのでEventListener用の関数を用意 今回はこの辺で。
次回はグラフィッックを反映させてみる。
一応全ソース。



leave comment