このページはゲームループの基礎講座シリーズの付録Cです。
ここには、この講座で紹介してる「ゲームソースのテンプレート」である GameWinMain.h のソース・ファイルを紹介します。(戻る)
使い方
ゲーム・プログラマは、下記のソースで次の4つを記述します。
- ゲーム全体の初期化(funcGameInit)
- ゲーム全体の後始末(funcGameTerm)
- ゲーム全体の進行(funcGameUpdate)
- ゲーム全体の描画(funcGameDraw)
その他にも _tWinMain 関数内のウインドウ・クラスやウインドウ・タイトルの名前を適当に修正して使います。
LPCTSTR lpClassName = TEXT("GameNameWndClass"); LPCTSTR lpTitleName = TEXT("ゲームのタイトル");
↓
LPCTSTR lpClassName = TEXT("BlockGameWndClass"); LPCTSTR lpTitleName = TEXT("ブロック崩しゲーム");
GameWinMain.cpp
//------------------------------------------------------------------------------ // ゲームソースのテンプレート //------------------------------------------------------------------------------ #include <tchar.h> #include <Windows.h> // WinMM.Lib,MSImg32.Lib #include "GameMainLib.h" //------------------------------------------------ // 記号定数(OK) //------------------------------------------------ #define SCREEN_FPS (60) // スクリーンの更新間隔(FPS) #define SCREEN_WIDTH (640) // スクリーンの横幅(32ドット×20個) #define SCREEN_HEIGHT (480) // スクリーンの高さ(32ドット×15個) //------------------------------------------------ // ゲーム全体の初期化 //------------------------------------------------ extern VOID funcGameInit(HWND) { } //------------------------------------------------ // ゲーム全体の後始末 //------------------------------------------------ extern VOID funcGameTerm(HWND) { } //------------------------------------------------ // ゲーム全体の進行 //------------------------------------------------ extern VOID funcGameUpdate(HWND) { } //------------------------------------------------ // ゲーム全体の描画 //------------------------------------------------ extern VOID funcGameDraw( HDC hDC ) { } //------------------------------------------------ // メイン関数(OK) //------------------------------------------------ extern int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE, LPTSTR, int nCmdShow ) { LPCTSTR lpClassName = TEXT("GameNameWndClass"); LPCTSTR lpTitleName = TEXT("ゲームのタイトル"); if ( GameMainInit(SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_FPS) ){ if ( GameMainCreate(hInstance,lpClassName,lpTitleName,nCmdShow) ){ return GameMainRun( funcGameInit, funcGameTerm, funcGameUpdate, funcGameDraw ); } } return GameMainErrMsg( NULL, TEXT("WinMain関数") ); } //------------------------------------------------------------------------------ // End of GameWinMain.cpp //------------------------------------------------------------------------------
※コメント投稿者のブログIDはブログ作成者のみに通知されます