AS3の物理エンジンに何を使うか決める

調査

物理エンジンを使ったアクションゲームを試作したいので、まず、どんな物理エンジンがあって、どれを使うかを決める。


まず、物理エンジンの種類は以下のサイトを参考にした。


で、物理エンジンの候補としては以下が挙がった。

  • 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.*;を追加(これも一括)


これで、一通りのサンプルが確認できるようになった。今日はひとまずここまで。明日は、地面と球を作るサンプルの作成。時間があれば、ベジエ曲線を使った地形まで試したいところ。