java – libGDX暂停运行几秒钟

我有一个应用程序,我想暂停一下.重要的是,在两个自动交互之间使图形元素/更改更清晰可见.

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

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

最佳答案 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 ..
}
点赞