无法使计时器正常工作c ++

时间:2012-04-02 15:09:24

标签: c++ timer

我试图让计时器计数两次​​,但我一直遇到麻烦它会执行一次但不会再执行任务,我不知道我哪里出错了,我可以在互联网上找到任何东西因为我在运行速度为1000FPS的游戏循环中运行我的代码。

这是标题代码。

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;
}

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

看起来您正在初始化endBoostslow,并且从不更改其值。但这些是基于clock()值初始化的,并且从未改变过。 timer的当前值很快将大于endBoostslow,并将永远保持如此。

答案 1 :(得分:-1)

“我想让计数器计数两次​​”

我在这段代码中看不到任何类似计数器的东西 你必须清楚自己的意思。