libGDX暂停运行几秒钟

时间:2015-05-17 21:02:04

标签: java android libgdx

我有一个应用程序,我想暂停一下。重要的是,在两次自动交互之间更好地显示图形元素/更改。

我尝试使用上面的代码暂停2分钟,但它会在方法开始时暂停,而不是在方法内的2行精确代码行之间。

try {
    Thread.sleep(2000);
} catch(InterruptedException ex) {
    Thread.currentThread().interrupt();
}

1 个答案:

答案 0 :(得分:2)

Libgdx期望渲染循环定期运行(大致以屏幕刷新率)并每次重新绘制屏幕。因为,当你的应用程序可能"看起来"暂停,它实际上不应该暂停。应该忙于更新屏幕,更新动画,响应后退键等等。

因此,您需要更明确地决定在此窗口期间阻止的内容。只是回应输入?添加新元素?然后你应该在窗口中跳过这些元素。

long endPauseTime = 0;

当您决定要暂停时:

endPauseTime = System.currentTimeMillis() + (2 * 1000); // 2 seconds in the future

然后在你的渲染calback:

if (endPauseTime < System.currentTimeMillis()) {
   // non-paused mode, so check inputs or whatever
} else {
   // paused mode, so skip some things ..
}