java - libgdx 定时器倒计时实现

标签 java timer libgdx

我想在 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/

相关文章:

java - 渲染/更新线程同步

java - 在 Libgdx 中暂停并继续对 actor 执行操作

java - 字段是否需要显式最终才能拥有 "proper"不可变对象(immutable对象)?

java - 使用计时器的多线程图形?

java - 如何在选项卡菜单中使用抽屉导航

c# - 如何用 Timer 替换 WHILE

c# - System.Timers.Timer在Azure辅助角色中徘徊

html - Libgdx 和 html5 中的 Scene2dUI

java - 在 MYSQL 数据库中存储 base64 字符串的最佳方法是什么?

java - 按嵌套对象的一个​​属性对对象数组进行排序