【发布时间】:2018-12-05 11:22:07
【问题描述】:
我正在编写一个使用计时器完成动画的简单游戏。计时器速率最初设置为 200,但是对于每 1000 点玩家获得我希望计时器变得更快,所以我想我可以减少间隔
if (score > 0 && score % 1000 == 0)
{
GameTimer.Interval -= 20;
}
但是当我达到 1000 分时,winform 崩溃并在上面给出的行出现以下错误:
System.ArgumentOutOfRangeException:“值“0”不是间隔的有效值。间隔必须大于 0。 参数名称:间隔
如何正确降低间隔率? (或通过任何其他方式让我的程序运行得更快)
编辑:上面给出的代码段被放置在tick事件中,导致if语句执行多次
【问题讨论】:
-
请注意,减小
Interval会增加速率,因为间隔以毫秒为单位;这是你想要的吗? -
@Bizhan 我很确定它最初设置为 200。我改变它的方法是从 Form1.cs[Design] 页面中的计时器属性菜单中编辑初始值(100)
-
是的,我明白了,并删除了我的评论。请看下面我的回答
-
@Ach113 我不知道整个实现,但我想如果玩家有 1000 分并且您运行此代码几次,您可能会遇到问题。所以,运行时要小心。
-
检查
Interval是否-= 20。