我想在 LibGDX 框架中创建效率计时器,它会计算我的角色剩余的时间。 doSmth()
方法的调用次数应与某个标志设置为 true 的次数相同。我知道 Timer
的第三个参数是,它应该触发多少次。现在我调用递归方法,但我认为这不是有效的方法。
public void updateTimer(){
new Timer().scheduleTask(new Timer.Task() {
@Override
public void run() {
doSmth();
updateTimer();
}
},1);
}
最佳答案
使用重复计数会更准确。每次运行任务时,您的方法都会引入一些错误,因为任务是在 GL 线程上运行的,所以它会在一秒钟后发生,但您在一秒钟后重复它。因此,每重复一次,您就会稍微落后一些。
private Timer.Task myTimerTask = new Timer.Task() {
@Override
public void run() {
doSmth();
}
};
public void startTimer(){
Timer.schedule(myTimerTask, 1f, 1f);
}
当你需要停止它时:
myTimerTask.cancel();
关于java - libgdx 定时器倒计时实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43606334/