如何在不使用reinit()的情况下在Slick2D中重新初始化游戏?
如果我的实体与另一个实体发生碰撞(=游戏赢了),那么我想进入我的MainMenuState并重新初始化游戏以进行新游戏。
答案 0 :(得分:0)
好吧,如果你的州延长BasicGameState,他们可以扩展输入和离开方法。
你只需要对你的" InGame"进行初始化。状态在输入方法中,当您的实体与另一个实体发生碰撞时,只需执行以下操作:
game.enterState(MainMenuState.ID, new FadeOutTransition(Color.black), new FadeInTransition(Color.black));
它会调用InGame状态的 leave 方法。
简而言之,在enter方法中执行游戏的初始化,并在leave方法中清理内存(因为在启动应用程序时会实例化所有状态,所以不应在构造函数中加载状态)。