libGDX计时器 - 计划中的错误

时间:2014-04-23 14:32:44

标签: java arrays timer libgdx timertask

我试图在每2秒延迟1秒后生成一个对象。然而,我的尝试导致物体在1秒延迟后产生,但随后在异常快速的过去(即比每2秒更频繁地产生)产生。我无法弄清楚为什么我的计时器任务如此靠近地产生对象。任何帮助都会很棒,谢谢。

private Array<Rectangle> spacebars;

public void spawnSpacebar() 
{
spacebar = new Rectangle();
spacebar.x = 800;             
spacebar.y = MathUtils.random(0, 480-64);
spacebar.width = 64;
spacebar.height = 64;
spacebars.add(spacebar);
}

Timer.schedule(new Task()
{@Override
public void run() 
  {
  spawnSpacebar();
  }
}
, 1  // (delay)
, 2  // (every x seconds)
);

1 个答案:

答案 0 :(得分:0)

注意:在写完这个答案后我意识到你正试图使用​​LibGDX Timer类。在这种情况下,请确保您使用的是LibGDX Timer而不是java.util.Timer

看起来schedule()的参数以毫秒为单位。来自java documentation

public void schedule(TimerTask任务,             长时间延迟             长期)

参数:     任务 - 要安排的任务。     延迟 - 执行任务之前的延迟(以毫秒为单位)。     period - 连续任务执行之间的时间(以毫秒为单位)。

所以尝试传递1000和2000而不是1和2。