我正在尝试在游戏开始时使用公司信息创建加载状态,同时加载一些文件。问题是当我在上面使用睡眠时。它不会绘制背景。如果我使用wait它会返回一个错误,因为它需要一个objeft。是否有捷径可寻?使用sprite批处理绘制背景,然后在推送新状态之前等待?感谢名单
@Override
public void render(SpriteBatch sb) {
sb.begin();
Object obj = new Object();
sb.draw(bk, 0, 0, 56, 56);
try {
TimeUnit.SECONDS.sleep(5);
gsm.push(new MenuState(gsm));
dispose();
} catch (Exception e) {
System.out.println("error");
}
sb.end();
我也试过这个:
TimeUnit.SECONDS.wait(obj, 5);
TimeUnit.SECONDS.timedwait(5);
wait();
Thread.Sleep();
//all in try catch block
我也尝试分离自己的线程并失败了。必须有一个简单的方法来做到这一点吗?
答案 0 :(得分:0)
public void timer(){
try {
TimeUnit.SECONDS.sleep(3);
} catch (Exception e) {
System.out.println("error");
}
}
@Override
protected void handleInput() {
if (load)
{
timer();
gsm.push(new MenuState(gsm));
dispose();
}
}
@Override
public void update(float dt) {
handleInput();
load = true;
}