2011-12-10 90 views
0

我在课堂上宣布这两个双打。双倍不减

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

这两个间隔控制第二个基于定时器。

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

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

我尝试从间隔本身减去1.5到提供新的double我定时器

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

现在唯一的问题是我注意到没有东西从我的变量中减去。我记录他们时,他们是SUPPOSED更改,但没有任何反应。有什么我在这里失踪?

+0

应该'interval = interval2 - .5;'是'interval2 = interval2 - .5;'?另外考虑使用' - ='运算符。 – AusCBloke

+0

是的,它应该,但问题仍然存在。 –

+0

@AusCBloke如果你张贴作为答案不正确的标记。它解决了我的问题。大声笑 –

回答

5

您有:

interval = interval2 - .5; 

intervalinterval2,因此interval2不被修改。计时器没有变化的原因是因为interval2没有被分配一个新的值,这是因为定时器总是被置为值interval2的间隔:

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

timer.setInterval()到第二呼叫抵消了第一。

+2

明白了。这很有道理。谢谢 –