我试图让计时器计数两次,但我一直遇到麻烦它会执行一次但不会再执行任务,我不知道我哪里出错了,我可以在互联网上找到任何东西因为我在运行速度为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;
}
感谢任何帮助。
答案 0 :(得分:1)
看起来您正在初始化endBoost
和slow
,并且从不更改其值。但这些是基于clock()
值初始化的,并且从未改变过。 timer
的当前值很快将大于endBoost
和slow
,并将永远保持如此。
答案 1 :(得分:-1)
“我想让计数器计数两次”
我在这段代码中看不到任何类似计数器的东西 你必须清楚自己的意思。