我创建了一个简单的暂停菜单,当我想回到游戏界面时,我点击了恢复,它显然没有加载任何东西,因为我猜它没有保存任何值,然后才暂停。我想知道怎么做?感谢
答案 0 :(得分:0)
我遇到了同样的麻烦。暂停后libgdx调用dispose。然后再创造一些东西。我认为您可以将必要的数据保存到共享偏好中,然后检查是否有一些保存在那里手动恢复游戏。不确定这是更好的方式。
答案 1 :(得分:0)
一种使这项工作成功的方法是宣传你的游戏数据是公开的和静态的,例如玩家类,敌人或你在游戏中使用的任何东西,这可能不是最好的想法......
执行此操作的最佳方法是制作类似GameState的枚举
public enum GameState
{
Playing,Paused,Over;
}
GameState state;
现在创建一个将成为暂停屏幕的类,但不要实现Screen类,只需添加纹理或任何你需要的东西,并添加绘制方法,如果你还需要它可能会更新。 在你的游戏画面中声明它。
PauseMenu pauseMenu=new PauseMenu();
在游戏画面的渲染方法中检查游戏状态
if(state==GameState.Paused)
{
pauseMenu.Draw(batch);
}
if(state==GameState.Playing)
{
// here you draw everything you want for the game while is playing
}
如果您的GameState是GameState.Playing,请不要忘记不更新游戏对象。