2011-12-10 6 views
0

これらの2つのダブルをクラスレベルで宣言します。ダブルが減算されない

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

これらの2つの間隔は、2番目のベースのタイマーを制御します。

コード中には、毎秒IUpdateという方法が更新されています。各第二私は、ユーザーのスコアをチェックしにその場合は、特定のスコア私が試してみてください。私は間隔自体から0.5を減算し、

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

今私のタイマーに新しいdoubleを供給しようと

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

唯一の問題は、何も私の変数から差し引かれないことに気付いていることです。彼らは変更がサポートされてもログに記録しますが、何も起こりません。ここに行方不明のものがありますか?

+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回目の呼び出しは相殺最初の1つ。

+2

入手しました。完璧な意味合いがあります。ありがとう –