flixelというactionscript3.0用のフレームワークがある。

これは2Dゲームを作成するためのフレームワーク。

以前にjavaでマリオっぽいアクションを作ろうと思ってappleteでちょっと作ってみたことがあったけどかなり大変だった。

このフレームワークを使うと作りは限定的になるものの、画面遷移やキャラクターのアニメーションや物理演算などが楽に実装できる。

問題としては日本語の資料が少ないこと。。

ここあたりが細かく解説しているので参考になると思ったのだが、2010年7月現在ではflixelのバージョンが新しくなったためか、コンパイルすることができない。

http://www.kuma-de.com/blog/2009-10-05/1280

こちらのサイトは同じバージョンのようでかなり参考になった。

http://atmarkit.doesntexist.org/blog/?cat=13

で基本的なことは上記を参考にさせてもらって、いざ独り立ちって感じでまずは画面遷移から。

あ、作るゲームは○ックマンです。

まずはこの画面遷移を実現してみる。

タイトル画面⇒ステージセレクト⇒ステージ画面

startGame()メソッドが始点になるようでまずはここに始まりの画面のインスタンスを生成する。

FlxG.state = new select();(selectクラスはタイトル画面生成するのクラス)

そんでselectクラスの中で、たとえばボタンを押したらこの画面に遷移するというときなどは

if(処理)FlxG.state = new 遷移先のクラス();

とすればよい。

ただ、ここで注意したいのがこのロジックを書くメソッドについて。

コンストラクタにこれを書いてもだめでオーバーライドしたupdateメソッド内に書かないと実行されなかった。

この辺はフレームワークの仕様なのだろうか。

こんな感じで画面遷移が実現できた。