我想獲得一個計時器來計數兩次,但我一直有麻煩它會執行它的任務一次,但不是再次,我不知道我要去哪裏錯了,我可以在互聯網上找到任何有用的信息,因爲我在以1000FPS運行的遊戲循環中運行我的代碼。不能得到一個計時器正常工作C++
這是標題代碼。
clock_t endBoost = clock() + 3.0f * CLOCKS_PER_SEC;
clock_t slow = clock() + 5.0f * CLOCKS_PER_SEC;
這是主碼。
bool overheat = false;
if(overheat == false)
{
if(myEngine->KeyHeld(Key_Space))
{
timer = clock();
if(timer < endBoost)
{
stringstream outBoost;
outBoost << "!BOOST!";
myFont->Draw(outBoost.str(), 300, 200);
outBoost.str("");
carSpeedIncrement = 0.1f;
}
}
}
if(timer > endBoost)
{
overheat = true;
}
if(timer < slow && overheat == true)
{
overheat = false;
carSpeedIncrement = 0.1f;
}
任何幫助被讚賞。
是的,如果你能給我一個關於如何解決這個問題的想法,那會很好。 – bobthemac 2012-04-02 15:33:47
@MooingDuck你爲什麼編輯我的答案?我不認爲'睡眠'與原始問題有什麼關係。 – aldo 2012-04-02 22:48:07
因爲你的答案很好,但缺少一個示例計時器來研究。我爲你解決了這個問題。睡眠是在非框架代碼中使用的最簡單的定時器,也是所有其他定時器的核心。 – 2012-04-02 22:50:06