java - double 不被减去

标签 java android andengine

我在类(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/

相关文章:

android - Android - 无需SIM卡或互联网连接即可启用Wifi网络共享

java - Switch 语句不显示任何结果

java - 每秒减少一个整数

android - 使用 andEngine 的级别选择器。每个东西都是黑色的?

java - 在 SpringBoot 和 MyBatis 应用程序中,对于动态数据源,查询总是先于 AOP 执行

java - Apache Kafka 0.8.2.1 - 生产者(Java API)不写入消息

android - fragment 应该是静态的,以便系统可以重新实例化它们,而匿名类不是静态的

java - 尝试编译 AspectJ 教程应用程序时出现问题

java - 当使用未定义的参数调用模拟时,如何使 Mockito 抛出异常?

android - AndEngine - 当我设置 Sprite 时, Sprite 的 (0, 0) 是 Sprite 的中心。我怎样才能像往常一样把它放在左下角?