DrawMain2.cpp

説明を見る。
00001 //! @file       DrawMain2.cpp
00002 //! @brief       Windowsのみ版ゲームメイン関数郡(シーン単位)
00003 
00004 #include <stdio.h>              //sprintf()のため
00005 #include "main.h"
00006 #include "DrawMain.h"
00007 
00008 //============================================================================
00009 //型宣言
00010 //============================================================================
00011 
00012 //============================================================================
00013 //定数
00014 //============================================================================
00015 
00016 //============================================================================
00017 //外部変数
00018 //============================================================================
00019 
00020 //============================================================================
00021 //内部変数
00022 //============================================================================
00023 static DWORD FpsValue;          //!< FPSの値(受け取り用)
00024 static DWORD waitTime;          //!< waitした時間(受け取り用)
00025 
00026 
00027 //============================================================================
00028 //内部関数
00029 //============================================================================
00030 static void Proc();                     //!< 処理
00031 static void Render();           //!< 描画
00032 
00033 //============================================================================
00034 //外部公開関数
00035 //============================================================================
00036 //=================================
00037 void *FrameInit();                      //!< 初期化
00038 void *FrameRelease();           //!< 開放
00039 void *DrawFrame();                      //!< 描画
00040 //=================================
00041 LRESULT MyWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);//!< 独自ウインドウプロシージャ
00042 
00043 //============================================================================
00044 /*!
00045 * 独自ウインドウプロシージャ
00046 * @param[in]            hWnd            ウインドウハンドル
00047 * @param[in]            uMsg            ウインドウメッセージ
00048 * @param[in]            wParam          ウインドウメッセージパラメータ1
00049 * @param[in]            lParam          ウインドウメッセージパラメータ2
00050 * @retval                       1                       通常終了
00051 * @retval                       0                       何らかの処理がされた
00052 * @brief                        WindowProc()処理以外でアプリケーション特有の処理をさせたい時に処理を追加して使う
00053 *                                       WindowProc()から呼ばれる
00054 */
00055 //============================================================================
00056 LRESULT MyWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
00057 {
00058 
00059         return 1;
00060 }
00061 
00062 
00063 
00064 //============================================================================
00065 //! 初期化
00066 //! @retval             NULL                    初期化失敗
00067 //! @retval             関数のアドレス   次に処理する関数
00068 //! @brief              アプリケーションの初期化を行う
00069 //!                             メッセージループ手前で呼ばれる
00070 //============================================================================
00071 void *FrameInit()
00072 {
00073         MessageBox(hWindow,"メインを初期化します","FrameInit",MB_OK);
00074 /*
00075         //FPS値をセット
00076         SetFpsValue(60);                //1秒間に60回更新されるように
00077 */
00078         //=================================
00079         pNowRelease = FrameRelease;
00080         return (void *)DrawFrame;
00081         //=================================
00082 }
00083 
00084 //============================================================================
00085 //! 開放
00086 //! @retval             NULL                            開放失敗
00087 //! @retval             関数のアドレス   次に処理する関数
00088 //! @brief              アプリケーションの開放処理を行う
00089 //!                             メッセージループ終了直後に呼ばれる
00090 //============================================================================
00091 void *FrameRelease()
00092 {
00093         MessageBox(hWindow,"メインを開放します","FrameRelease",MB_OK);
00094 
00095         return NULL;
00096 }
00097 
00098 //============================================================================
00099 //! 処理
00100 //! @return             なし
00101 //! @brief              キャラの移動など描画以外の処理を行う
00102 //!                             DrawFrame()より呼ばれる
00103 //============================================================================
00104 void Proc()
00105 {
00106 
00107 }
00108 
00109 //============================================================================
00110 //! 描画
00111 //! @return             なし
00112 //! @brief              描画全般を行う
00113 //!                             DrawFrame()より呼ばれる
00114 //============================================================================
00115 void Render()
00116 {
00117 /*
00118         //タイトルバーにFPS値を表示
00119         TCHAR msg[256];
00120         sprintf(msg,"FPS : %d",FpsValue);
00121         SetWindowText(hWindow,msg);
00122 */
00123 }
00124 
00125 //============================================================================
00126 //! メインの処理をする関数
00127 //! @retval             NULL                            失敗
00128 //! @retval             関数のアドレス           次に処理する関数
00129 //! @brief              ゲームのメインループ内の処理を行う
00130 //!
00131 //!                             メッセージループから呼ばれる
00132 //============================================================================
00133 void *DrawFrame()
00134 {
00135 /*
00136         //処理開始時間をセット
00137         SetBeforTime();
00138 
00139         Proc();
00140 
00141         Render();
00142 
00143         //処理終了時間をセット
00144         SetNowTime();
00145 
00146         //Sleepする時間を取得
00147         if(GetElapsedTime(&waitTime))
00148                 Sleep(waitTime);//Sleepする必要があるならSleep
00149 
00150         //今のFPS状況(値)を取得
00151         GetNowFPSValue(&FpsValue);
00152 */
00153 
00154         //=================================
00155         if(IDYES == MessageBox(hWindow,"メインを終了しますか?","DrawFrame",MB_YESNO))
00156                 return FrameRelease;
00157 
00158         return DrawFrame;
00159         //=================================
00160 }
00161 

SceneTestに対してSat Nov 24 22:14:41 2007に生成されました。  doxygen 1.5.2