我在类(class)级别声明了这两个 double 。
private double interval = 2;
private double interval2 = 3;
这两个间隔控制基于秒的计时器。
现在,在代码中,我有一个每秒更新一次的 IUpdate
方法。我每秒都会检查用户的分数,如果是某个分数,我会尝试:
interval = interval - .5
interval = interval2 - .5;
我尝试从间隔本身中减去 0.5,并将新的 double
提供给我的计时器
timer.setInterval(interval);
timer.setInterval(interval2);
现在唯一的问题是我注意到我的变量没有被减去任何东西。当它们应该改变但什么也没有发生时,我记录它们。我这里缺少什么吗?
最佳答案
你有:
interval = interval2 - .5;
interval
应为 interval2
,因此 interval2
不会被修改。计时器未更改的原因是 interval2
未分配新值,并且计时器始终设置为值 interval2
的时间间隔:
timer.setInterval(interval);
timer.setInterval(interval2);
第二次调用 timer.setInterval()
会取消第一个调用。
关于java - double 不被减去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8453462/