一段时间后加载下一个关卡

时间:2019-05-26 08:04:10

标签: java loops levels

我希望一段时间后,当第一关结束时,游戏的下一个关已加载。例如,经过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.");
            }
        }
    }

它不起作用,我不知道该怎么做

0 个答案:

没有答案