У меня есть приложение, написанное на QT, которое использует QTimer. По сути, это игра, и все действия контролируются таймером. Игра включает в себя возможность увеличения\уменьшения скорости игры. Код для увеличения скорости
timerValue -= speedUpValue;
if (timerValue < maxSpeed) {
timerValue = maxSpeed;
}
timer -> setInterval(timerValue);
speedUpValue
и maxSpeed
являются константами. Почти такой же код используется для уменьшения скорости. Проблема в том, что setInterval
сбрасывает внутренний таймер, и поэтому, если вы продолжаете быстро увеличивать или уменьшать скорость, игра в конечном итоге никогда не продолжится, потому что remainingTime
постоянно сбрасывается. Есть ли способ установить remainingTime
вручную или изменить интервал без его сброса?