Java 如何显示";游戏结束“;在安卓系统中镜像一段固定的时间,当用户在指定的时间间隔后点击屏幕时重新启动游戏?
我通过观看视频教程制作了“Flappy bird”游戏的克隆。我对它进行了编程,这样当小鸟摔倒或与管子相撞时,屏幕上会出现“游戏结束”消息,当玩家点击屏幕时,游戏会重新启动 问题是,当用户未能及时点击小鸟,小鸟与管子相撞时,屏幕上的游戏立即出现,用户碰巧点击屏幕上的游戏,导致游戏重新启动 这使得用户无法查看分数。我已经尝试使用Thread.sleep()。下面是代码Java 如何显示";游戏结束“;在安卓系统中镜像一段固定的时间,当用户在指定的时间间隔后点击屏幕时重新启动游戏?,java,android,Java,Android,我通过观看视频教程制作了“Flappy bird”游戏的克隆。我对它进行了编程,这样当小鸟摔倒或与管子相撞时,屏幕上会出现“游戏结束”消息,当玩家点击屏幕时,游戏会重新启动 问题是,当用户未能及时点击小鸟,小鸟与管子相撞时,屏幕上的游戏立即出现,用户碰巧点击屏幕上的游戏,导致游戏重新启动 这使得用户无法查看分数。我已经尝试使用Thread.sleep()。下面是代码 (gameState == 2) { batch.draw(gameOver,Gdx.graphi
(gameState == 2)
{
batch.draw(gameOver,Gdx.graphics.getWidth()/2-gameOver.getWidth()/2,Gdx.graphics.getHeight()/2-gameOver.getHeight()/2);
try
{
Thread.sleep(2000);
}
catch(InterruptedException ex)
{
Thread.currentThread().interrupt();
}
if (Gdx.input.justTouched()) {
gameState = 1;
startGame();
score =0;
scoringTube = 0;
velocity = 0;
}
}
使用此代码的问题是,即使gameover映像也被延迟,而之前的问题仍然在发生,但现在有延迟。我基本上需要一种方法,以便当屏幕上的游戏出现时,JustTouch方法在一段时间内处于非活动状态。请帮助。我真的不建议使用
线程。睡眠
;相反,您可以可以尝试使用在游戏结束后更改的布尔值,并阻止在这种情况下执行该方法。将其与例如在固定延迟后重置它的布尔值相结合,您应该可以找到问题的解决方案
计时器的用法示例:
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
//execute code here (change boolean state)
}
},
yourDelayHere
);