我在课堂上宣布了这两个双打。

private double interval = 2;
private double interval2 = 3;


这两个间隔控制一个基于第二的计时器。

现在在代码中,我有一个IUpdate方法,该方法每秒更新一次。每秒我都会检查用户的分数,如果它达到某个分数,我会尝试:

 interval = interval - .5
 interval = interval2 - .5;


我尝试从间隔本身中减去.5并将新的double提供给计时器

 timer.setInterval(interval);
 timer.setInterval(interval2);


现在唯一的问题是注意到我的变量没有减去任何东西。当他们应该更改但没有任何反应时,我会记录它们。我这里缺少什么吗?

最佳答案

你有:

interval = interval2 - .5;


interval应该是interval2,因此interval2未被修改。计时器未更改的原因是未为interval2分配新值,并且因为计时器始终设置为值interval2的时间间隔:

timer.setInterval(interval);
timer.setInterval(interval2);


timer.setInterval()的第二次调用取消了第一个。

09-07 15:07