【发布时间】:2023-03-11 09:01:01
【问题描述】:
我是 Java 新手,正在制作一个用于练习的小游戏。
if (doAllFaceUpCardsMatch == false) {
//run pause here//
concentration.flipAllCardsFaceDown();
} else {
concentration.makeAllFaceUpCardsInvisible();
}
我想在这里暂停游戏两秒钟
concentration.flipAllCardsFaceDown();
我将如何暂停它?
【问题讨论】:
-
Thread.sleep将是显而易见的选择,但是,如果您使用的是 Swing 或 JavaFX 之类的 GUI,您不应该在它们的调度线程的上下文中执行此操作,那将是真的, 特别糟糕。大多数 UI 框架都有自己定义的机制来执行此操作,但我们没有这些信息 -
当我执行 Thread.sleep() 时,我得到:“错误:未报告的异常 InterruptedException;必须被捕获或声明为抛出 Thread.sleep(2000);”编译时
-
@Ethanph89 好吧,编译器准确地告诉你你必须做什么:捕捉
InterruptedException,或者声明它被抛出。 -
顺便说一下,不要明确比较
true和false。