時間を図るためのクラス。
単位はミリ秒(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秒に一回カウントアップします。