我有一个用QT编写的应用程序,使用了QTimer。它基本上是一个游戏,所有的动作都由计时器控制。游戏包括增加\减少游戏速度的能力。增加速度的代码如下:
timerValue -= speedUpValue;
if (timerValue < maxSpeed) {
timerValue = maxSpeed;
}
timer -> setInterval(timerValue);
speedUpValue
和maxSpeed
是常量。减速的代码几乎与加速的代码相同。问题在于setInterval
会重置内部计时器,因此如果您不断地快速增加或减少速度,游戏最终永远无法进行,因为remainingTime
不断被重置。有没有办法手动设置remainingTime
或更改间隔而不重置它?