我有一个应用程序,我想暂停一下.重要的是,在两个自动交互之间使图形元素/更改更清晰可见.
我尝试使用上面的代码暂停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 ..
}