我正在创建一个 java 2D 平台游戏,当玩家死亡时,我很难让动画通过。当玩家死亡时,所有敌人都会被移除,并且会在原来的位置播放爆炸动画。与此同时,玩家开始眨眼。我希望它持续大约两秒钟,然后让我的setState()
方法切换到“PlayerDeadState”,这基本上是重试或返回主菜单选项屏幕。我用过Thread.sleep()
,但它不起作用,而且我听说它对 GUI 线程不好。这是我的代码:
public void update() {
// check if player is dead
if(player.dead == true) {
player.flinching = true;
for(int i = 0; i < enemies.size(); i++) {
Enemy e = enemies.get(i);
e.update();
e.hit(200);
if(e.isDead()) {
enemies.remove(i);
i--;
eExplosions.add(
new Explosion(e.getx(), e.gety()));
}
}
gsm.setState(3);
}
}
如果我注释掉我的setState()
方法,动画就会通过。问题在于我目前不能同时拥有两者。动画,或加载必要的 GameState。我两个都想要。:P
有什么建议么?