我希望一段时间后,当第一关结束时,游戏的下一个关已加载。例如,经过10秒,第一级结束,三秒钟后第二级开始。
我的运行方法
public void run() {
long lastTime = System.nanoTime();
double ns = 1000000000.0 / 60.0;
double delta = 0;
long timer = System.currentTimeMillis();
while (running) {
long now = System.nanoTime();
delta += (now - lastTime) / ns;
lastTime = now;
while (delta >= 1 && System.currentTimeMillis() > 3000 ) {
tick();
delta--;
}
if(System.currentTimeMillis() - timer > 1000) {
timer+= 1000;
}
}
stop();
}
我的勾号方法
public void tick() {
if(isPaused) {
return;
}
delay++;
if(level==1) {
addObjects();
}
else if(level==2) {
addObjects2();
}
for (Alien alien: aliens) {
alien.tick();
}
for (Star star: stars) {
star.tick();
}
for (BlackStar star: blackStars) {
star.tick();
}
repaint();
removeObjects();
checkEnd();
}
public void checkEnd() {
if(timeLeft == -1) {
isPaused = true;
updateLevel();
aliens.clear();
stars.clear();
blackStars.clear();
repaint();
try {
thread.sleep(3000);
timeLeft = 5;
}catch (InterruptedException e) {
System.out.println("Interrupted.");
}
}
}
它不起作用,我不知道该怎么做