時間を図るためのクラス。
単位はミリ秒(1000分の1秒)。
void SetInterval(const DWORD interval); |
計測する時間間隔をセットする。
interval 計測する時間間隔をミリ秒単位で指定する。 1秒であれば「1000」と指定。
なし
bool GetTiming(); |
設定した時間が経過したかどうか調べる。
なし
bool 設定した時間が経過した場合trueを返す。 経過していない場合はfalseを返す。
なし
1秒ごとにカウンタを増加させるサンプルを書く。
シーンのヘッダファイルでクラスの実体を作成する。
private: int m_counter; IntervalManage m_imCount; }; |
シーンの「Start関数」で時間間隔を設定する。
//============================================================================= // シーンの実行時に1度だけ呼び出される開始処理関数 //============================================================================= void SceneGame::Start() { m_pEngine->AddFont(FONT_GOTHIC, 20); m_counter = 0; m_imCount.SetInterval(1000); } |
シーンの「Update関数」で指定時間が経過したらカウンタを増加する。
//============================================================================= // シーンの実行時に繰り返し呼び出される更新処理関数 //============================================================================= void SceneGame::Update() { if (m_imCount.GetTiming()) { m_counter++; } } |
シーンの「Draw関数」でカウンタを表示する。
//============================================================================= // シーンの実行時に繰り返し呼び出される描画処理関数 //============================================================================= void SceneGame::Draw() { m_pEngine->DrawPrintf(0, 0, FONT_GOTHIC, D3DCOLOR_XRGB(255, 255, 255), "Counter = %d", m_counter); } |
1秒に一回カウントアップします。