main.cpp補足
12/8のソースに関しての説明になります。
■使用するライブラリを登録します。
#pragma comment(lib, "comctl32.lib") #pragma comment(lib, "winmm.lib")
■定期的に呼ぶ。
1秒回に FRAMERATE 回「g9.TestDraw();」を呼び出したい場合以下のような形になります。
tick = timeGetTime(); do{ if(PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } if(timeGetTime() >= tick) { tick += (1000 / FRAMERATE); g9.TestDraw(); } } while(msg.message != WM_QUIT);
■もっとゲーム的に
tick = timeGetTime(); do{ if(PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } if(timeGetTime() >= tick) { tick += (1000 / FRAMERATE); : ゲーム内で定期的に呼ばれたい部分 }else{ : 描画関係の処理 } } while(msg.message != WM_QUIT);
このようにしておくことで、Windowsの環境で描画が重たくても、同じような操作を
させたい場合にやくにたちます。
(注意:実際はもう少し手を入れてください)