スネークゲームを作ろうとしています。私が実現したいのは、ヘビが食べ物を食べるたびに動きが速くなることです。
タイマーの刻みを速くすることでこれを行いたいです。
次の時間間隔でタイマーを開始します。
gltimer.Interval = new TimeSpan(20000)
そしてそれを次のように更新します:
public void updateTimer(object sender, EventArgs e)
{
long nrTicks = gltimer.Interval.Ticks;
nrTicks = (long)(nrTicks * 0.95);
gltimer.Interval = new TimeSpan(nrTicks);
}
しかし、ゲームを実行すると、速度は 14 番目のスナックに到達するまで同じままで、その後突然変化します。nrTicks が 10000 を下回ることはすでにわかっています。
私の質問は、間隔が中間値に対して更新されないのはなぜですか?