如何暂停我的Java程序2秒钟

2022-09-03 12:21:33

我是Java的新手,正在制作一个小游戏进行练习。

if (doAllFaceUpCardsMatch == false) {
        //run pause here//
        concentration.flipAllCardsFaceDown();
} else {
        concentration.makeAllFaceUpCardsInvisible();
}

我想在这里暂停游戏两秒钟,然后再暂停它

concentration.flipAllCardsFaceDown();

我该如何暂停它?


答案 1

您可以使用:

 Thread.sleep(2000);

java.util.concurrent.TimeUnit.SECONDS.sleep(2);

请注意,这两种方法都抛出 ,这是一个选中的异常,因此您必须捕获该异常或在方法中声明。InterruptedException

编辑:捕获异常后,您的代码将如下所示:

if (doAllFaceUpCardsMatch == false) {
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        concentration.flipAllCardsFaceDown();
} else {
        concentration.makeAllFaceUpCardsInvisible();
}

由于你是新手,我建议你学习如何在你对java有点舒服之后进行异常处理。


答案 2

对于那些只想快速破解而不必引入图书馆的人来说...

public class Timing {
    public static void main(String[] args) {
            int delay = 1000; // number of milliseconds to sleep

            long start = System.currentTimeMillis();
            while(start >= System.currentTimeMillis() - delay); // do nothing

            System.out.println("Time Slept: " + Long.toString(System.currentTimeMillis() - start));
    }
}

对于高精度60fps游戏,这可能不是你想要的,但也许有些人会发现它很有用。