その8 引数型が違う状態メソッドでも遷移ができる状態遷移テンプレート:サンプルプログラム
ゲーム製作技術編その8「引数型が違う状態メソッドでも遷移ができる状態遷移テンプレート」で説明した内容を踏まえたサンプルプログラムです。実行するとコンソールウィンドウが出現してテキストベースでの遷移が行われます。
サンプルスクリーンショット。前章と同じジャン…って言っちゃいけません。
ベースは前章(その7)のサンプルプログラムですが、ゲーム遷移をテンプレートに置き換えています。
○ プログラムの実行方法
サンプルプログラムはこちらからダウンロードできます(GDEVSmp_No8_State.lzh)。プログラムは幾つかのヘッダーファイル(.h)と実装ファイル(.cpp)で構成されています。空のプロジェクトを作成してファイルを追加すれば実行できます。Binフォルダに実行形式もありますので、まずは実行させて動作確認をしてみて下さい。
○ 状態遷移テンプレート
この章の中心である状態遷移テンプレートはfuncsetter.hに実装されています。クラスにヘッダーを追加して、Dix::FuncSetter<クラス名>とメンバを宣言します。後はメンバに対して実行したいメソッドをFuncSetter::setFuncメソッドで指定するだけです。詳しくはサンプルのGameScene.h等をご覧下さい。