在转到我的其他代码之前,通过文本显示我的游戏 2 秒
Display my game over text for 2 seconds before going to my other code
我试过使用 Thread.sleep() 但它会在非常短暂地显示游戏结束之前完全暂停程序。我也曾尝试在 Thread.sleep() 之前通过文本显示游戏,但我看不到它。以下是我目前正在使用的。
try{
Thread.sleep(2000);//pause for 2 seconds
//display gameover
gr.setColor(Color.WHITE);
gr.setFont(new Font("arial", Font.BOLD, 50));
gr.drawString("Game Over", 550, 300);
}
catch(InterruptedException e){
}
例如,您可以定义一个布尔值 showText
,然后用它来确定是否要显示文本。
public void runGameLogic() {
showText = true;
Timer t = new Timer(2000, (action) -> {
showText = false;
});
t.setRepeats(false);
t.start();
}
public void render() {
if (showText) {
gr.setColor(Color.WHITE);
gr.setFont(new Font("Arial", Font.BOLD, 50));
gr.drawString("Game Over", 550, 300);
}
}
我试过使用 Thread.sleep() 但它会在非常短暂地显示游戏结束之前完全暂停程序。我也曾尝试在 Thread.sleep() 之前通过文本显示游戏,但我看不到它。以下是我目前正在使用的。
try{
Thread.sleep(2000);//pause for 2 seconds
//display gameover
gr.setColor(Color.WHITE);
gr.setFont(new Font("arial", Font.BOLD, 50));
gr.drawString("Game Over", 550, 300);
}
catch(InterruptedException e){
}
例如,您可以定义一个布尔值 showText
,然后用它来确定是否要显示文本。
public void runGameLogic() {
showText = true;
Timer t = new Timer(2000, (action) -> {
showText = false;
});
t.setRepeats(false);
t.start();
}
public void render() {
if (showText) {
gr.setColor(Color.WHITE);
gr.setFont(new Font("Arial", Font.BOLD, 50));
gr.drawString("Game Over", 550, 300);
}
}