調査
物理エンジンを使ったアクションゲームを試作したいので、まず、どんな物理エンジンがあって、どれを使うかを決める。
まず、物理エンジンの種類は以下のサイトを参考にした。
- http://d.hatena.ne.jp/flashrod/20061230#1167484273
- http://blog.seyself.com/2008/02/post_2008021318.html
で、物理エンジンの候補としては以下が挙がった。
- APE
- revive
- Fisix
- Box2D
今回は、「ベジエ曲線で地形を描いた上を走らせてみたいなぁ」ということで、reviveを使ってみることにする。
導入
Revive – 2d physics engine – Andre Michelleの「revive」と書いてあるバナーをクリックして、そこでreviveを選び、sourceをクリックする。
中にある「de」フォルダを、「flex_sdk_2\frameworks\source」にコピーする(flex-config.xmlによって、このフォルダにパスは通してある)。
「scenes」フォルダとMain.asを、どっかのフォルダ(ここではhome\Flex\ReviveTest)にコピーしてきて、mxmlc Main.asでコンパイルを試みるが、一発では通らず。
http://d.hatena.ne.jp/flashrod/20061223を参考に、以下の変更を行った。
- Main.as
- de\popforge\revive\application\SceneContainer.as
- import de.popforge.revive.member.Movable;を追加
- de\popforge\revive\application\Simulation.as
- import de.popforge.revive.member.MovableSegment;を追加
- de\popforge\revive\member\ImmovableBezierQuadric.as
- import de.popforge.revive.geom.Vector;を追加
- scenes\Startup.as
- import de.popforge.revive.forces.Spring;を追加
- import de.popforge.revive.member.*;を追加(面倒なので一括)
- scenes\PerfectMathTower.as
- import de.popforge.revive.forces.Spring;を追加
- import de.popforge.revive.member.Immovable;を追加
- scenes\Billard.as
- import de.popforge.revive.member.*;を追加(これも一括)
これで、一通りのサンプルが確認できるようになった。今日はひとまずここまで。明日は、地面と球を作るサンプルの作成。時間があれば、ベジエ曲線を使った地形まで試したいところ。