安卓中的游戏时间



有没有一种直接的方法可以在Android(java)中跟踪游戏时间?例如,为了无论帧速率如何都保持运动流畅,我需要考虑自最后一帧以来经过的时间量。这在XNA中很容易做到(因为它都是为你设置的),但即使没有游戏引擎,你仍然可以在C#中使用timeSpan。我尝试查找 java 的时间跨度,但它没有提出太多或长手。是否有一种等效的、简短的处理帧到帧计时的方法?

游戏逻辑应在独立于帧速率的单独线程中运行。然后,在刷新屏幕时,您只需绘制当前状态的对象。

当您确实需要能够测量时间时,请使用SystemClock.elapsedRealTime

嗯,

有一个 Handler 类,它允许你以一定的延迟运行线程。

postDelayed(Runnable action, long delayMillis)

您可以使用它为线程设置特定的游戏时间。 将延迟米利斯设置为33将略高于每秒30帧。 我很确定那里有适用于Android的游戏库,但是,对于此类问题将更有帮助。

您可以尝试手动获取每个实例之间的时间,如下所示:

long lastTime = 0; 
Thread {
    if (lastTime != 0) 
        elapsedTime = System.getTimeMillis() - lastTime;
    lastTime = System.getTimeMillis;
}

最新更新