我正在用LibGDX开发游戏,我想每毫秒调用一次更新函数。

但是我不知道该怎么做-

while(gameLoop) {
  renderWorld();
}

public void renderWorld() {
  // Some rendering code here
  if(world.map[mapPos].ID == 9) {
    updateWater(mapPos); // This function makes the water animate, but i must put a time limit otherwise it will be too hard to see the animation, how can i limit this?
  }
}


如您所见,我想更新水,而且我没有时间限制就不能这样做,因为否则水的“动画”将太快甚至看不到。

最佳答案

您不妨看看com.badlogic.gdx.utils.Timer

在可以简单使用的地方,

float delay = 0.5f; // seconds

Timer.schedule(new Task(){
    @Override
    public void run() {
        // Do your work
        if(world.map[mapPos].ID == 9) {
            updateWater(mapPos);
        }
    }
}, delay, delay);


这将在主线程上以500 ms的间隔重复执行。
所以gwt版本也不会有问题。

希望这可以帮助。

10-08 01:47