嗨,我正在尝试为我的Libgdx游戏创建一个简单的10秒倒计时计时器,但它会继续打印剩余0.0。屏幕启动时,我将创建一个gotime变量来保存初始开始时间。然后,我通过将gotime加10000来设置目标时间变量targettime。那么可以肯定,这只是用当前时间减去目标时间的问题,但这是行不通的。我相信这是因为由于某种原因,我的gotime和targettime在logcat中打印了相同的时间戳,并带有一个奇怪的E号,例如以下1.3980063E12。我正在使用Time.Utils.millis()来获取时间。谢谢。

gotime=TimeUtils.millis();
targettime=gotime+10000;
timeleft=targettime-TimeUtils.millis();

最佳答案

试试这个

boolean TimerRunning = true;

int Timer = 10;

new Thread(new Runnable() {


public void run() {

while(TimerRunning == true) {

Thread.sleep(1000);

if(Timer == 0) {

TimerRunning = false;

}
else {

Timer = Timer - 1;

}

}

}).start();


然后也使用A方法获取变量计时器!完成了!

10-07 20:33