赛车游戏倒数计时器

我想为我的赛车游戏做一个倒数计时器,比如“3 … 2 … 1 … GO!” 我正在使用GLUT,OpenGL和C ++。 我想知道在C ++中处理这个最合适的方法。 时钟()? glutTimerFunc()? 我计划有4个纹理多边形,一个接一个地缩小和褪色。

您需要在update循环中积累时间。 不要用“现在是timeTotal ”的方式来思考,而应该保留一个叫做timeTotaldoublevariables。 每一帧,增加( 1.0/60.0 )(或任何你固定的时间步)。 当游戏开始时,你可以重置计时器,而你的比赛开始介绍会像这样:

 void update() { totalTime += 1.0/60.0 ; //increase time if( timeTotal > 1 ) // 3. else if( timeTotal > 2 ) // 2. else if( timeTotal > 3 ) // 1 else { GO } // race on } 

您可以通过多种方式来重构这一点,但这是如何在游戏系统中访问基于时间的事件的基本思路。