00001 00002 00003 00004 #include <stdio.h> //sprintf()のため 00005 #include "main.h" 00006 #include "DrawMain.h" 00007 00008 //Doxygenで出力するときはdefineして全て出力させる 00009 #ifdef __OUTPUT_DOXYGEN 00010 #define __NOT_USE_DIRECTX 00011 #endif 00012 00013 #ifdef __NOT_USE_DIRECTX 00014 00015 #include "FPS.h" 00016 00017 //============================================================================ 00018 //型宣言 00019 //============================================================================ 00020 00021 //============================================================================ 00022 //定数 00023 //============================================================================ 00024 00025 //============================================================================ 00026 //外部変数 00027 //============================================================================ 00028 00029 //============================================================================ 00030 //内部変数 00031 //============================================================================ 00032 static DWORD FpsValue; 00033 static DWORD waitTime; 00034 00035 00036 //============================================================================ 00037 //内部関数 00038 //============================================================================ 00039 static void Proc(); 00040 static void Render(); 00041 00042 //============================================================================ 00043 //外部公開関数 00044 //============================================================================ 00045 void FrameInit(); 00046 void FrameRelease(); 00047 void DrawFrame(); 00048 LRESULT MyWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); 00049 00050 //============================================================================ 00062 //============================================================================ 00063 LRESULT MyWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 00064 { 00065 00066 return 1; 00067 } 00068 00069 00070 00071 //============================================================================ 00076 //============================================================================ 00077 void FrameInit() 00078 { 00079 00080 //FPS値をセット 00081 SetFpsValue(60); //1秒間に60回更新されるように 00082 00083 return; 00084 } 00085 00086 //============================================================================ 00091 //============================================================================ 00092 void FrameRelease() 00093 { 00094 } 00095 00096 //============================================================================ 00101 //============================================================================ 00102 void Proc() 00103 { 00104 00105 } 00106 00107 //============================================================================ 00112 //============================================================================ 00113 void Render() 00114 { 00115 //タイトルバーにFPS値を表示 00116 TCHAR msg[256]; 00117 sprintf(msg,"FPS : %d",FpsValue); 00118 SetWindowText(hWindow,msg); 00119 } 00120 00121 //============================================================================ 00127 //============================================================================ 00128 void DrawFrame() 00129 { 00130 //処理開始時間をセット 00131 SetBeforTime(); 00132 00133 Proc(); 00134 00135 Render(); 00136 00137 //処理終了時間をセット 00138 SetNowTime(); 00139 00140 //Sleepする時間を取得 00141 if(GetElapsedTime(&waitTime)) 00142 Sleep(waitTime);//Sleepする必要があるならSleep 00143 00144 //今のFPS状況(値)を取得 00145 GetNowFPSValue(&FpsValue); 00146 00147 } 00148 00149 #endif