QTimer を使用する QT で書かれたアプリがあります。これは基本的にゲームであり、すべてのアクションはタイマーによって制御されます。ゲームには、ゲーム速度を増減する機能が含まれています。速度を上げるためのコードは次のとおりです。
timerValue -= speedUpValue;
if (timerValue < maxSpeed) {
timerValue = maxSpeed;
}
timer -> setInterval(timerValue);
speedUpValue
およびmaxSpeed
は定数です。速度を下げるためにほぼ同じコードが使用されます。問題はsetInterval
、内部タイマーをリセットすることです。したがって、速度を急速に上げたり下げたりし続けると、remainingTime
常にリセットされているため、最終的にゲームが進行しなくなります。remainingTime
手動で設定したり、リセットせずに間隔を変更したりする方法はありますか?