Java LibGdx - 暂停时,如何恢复之前的操作?

时间:2014-05-14 02:49:05

标签: java android libgdx

我创建了一个简单的暂停菜单,当我想回到游戏界面时,我点击了恢复,它显然没有加载任何东西,因为我猜它没有保存任何值,然后才暂停。我想知道怎么做?感谢

2 个答案:

答案 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,请不要忘记不更新游戏对象。