我正在尝试制作 Snake 游戏。而我想要发生的是,蛇每吃一块食物,它就会移动得更快。
我想通过加快计时器滴答声来做到这一点。
我以以下间隔时间启动计时器:
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 以下。
我的问题是为什么间隔不更新中间值?