第2章 Windowsプログラムをゲーム用に改造する

2-4 ゲームメイン処理の考え方とプログラム

どのようなゲームも、大体次のような流れで作成されている。

  1. オープニング表示(タイトル画面、オープニングムービーなど)
  2. ゲームメイン
  3. エンディング表示(ゲームオーバー画面、エンディングムービーなど)

(a) 考え方

これらを全て行うプログラムを作るには、次のような考え方で行うとよい。

《解説》

※キー入力については次項で解説する

(b) 実際のプログラム

4-1のフローチャートのようにGameFrame関数を作成すると、次のようになる。

#define START_INIT     0
#define START_FRAME    1
#define GAME_INIT      10
#define GAME_FRAME     11

// プロトタイプ宣言
void UpdateFrame(HWND hWnd);

// グローバル変数
BYTE g_FrameNo = START_INIT;  // フレーム選択用


//-----------------------------------------------------------------------------
// 関数名 : UpdateFrame()
// 機能概要: 画面更新処理
//-----------------------------------------------------------------------------
void UpdateFrame(HWND hWnd)
{

    /* 現在のキー情報を取得 */

    /* 処理の振り分け */
    switch (g_FrameNo)
    {
        case START_INIT:
            // スタート画面を表示する前に実行する初期化関数を実行
        case START_FRAME:
            // スタート画面表示処理関数を実行
            break;
        case GAME_INIT:
            // ゲーム画面を表示する前に実行する初期化関数を実行
        case GAME_FRAME:
            // ゲーム画面表示処理関数を実行
            break;
        default:
            OutputDebugString("g_FrameNoの値が例外です。\n");
    }

    /* フリップ処理 */

}

《解説》

《補足》


[ TOP ] [ Next ]