Android中的游戏时间

时间:2012-06-27 05:35:59

标签: java android

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

2 个答案:

答案 0 :(得分:0)

那么Handler类允许你以一定的延迟运行一个线程。

postDelayed(Runnable action, long delayMillis)

您可以使用它为线程设置某个游戏时间。将delayMillis设置为33将是每秒30帧以上。我非常肯定有适用于Android的游戏库,但对于像这样的问题会更有帮助。

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

long lastTime = 0; 

Thread {

    if (lastTime != 0) 
        elapsedTime = System.getTimeMillis() - lastTime;

    lastTime = System.getTimeMillis;

}

答案 1 :(得分:0)

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

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