游戏在Android

时间:2015-04-29 14:55:41

标签: java android timer libgdx

我在代码中创建了2个计时器。一个是逻辑定时器,每0.017秒更新一次逻辑:

logicTimer = new Timer();
    logicTimer.scheduleTask(new Timer.Task() {
        @Override
        public void run() {
            updateLogic();
        }
    }, 0f, timePerProcessing);

另一个是每隔3秒产生一次障碍:

meteoroidTimer = new Timer();
    meteoroidTimer.scheduleTask(new Timer.Task() {
        @Override
        public void run() {
            generateMeteoroids();
        }
    },1f,3f);

当我暂停游戏并在之后恢复时,我的逻辑计时器仍然有效,但我的障碍计时器并没有。我以为是因为我在我的方法中使用了一个Random对象,我在计时器中调用,但我尝试了一个简单的:

System.out.println("It is showing");

它仍然没有恢复。

暂停和恢复的代码:

@Override
public void pause(){
    meteoroidTimer.stop();
    logicTimer.stop();
}

@Override
public void resume(){
    meteoroidTimer.start();
    logicTimer.start();
}

1 个答案:

答案 0 :(得分:1)

你不需要在恢复时使用timer.stop和star,因为当你离开app时,libgdx无论如何都会停止渲染/更新,所以你的计时器无论如何都不会更新。