在Android的LibGDX游戏中,如果用户退出游戏(通过按主页按钮或切换到另一个应用程序),LibGDX的内置pause()
方法应该运行。现在,这很好,它也可以正常工作。我的问题是,如果我退出游戏做任何事情,然后重新加入游戏,它已完全重新启动应用程序(有点像每次你退出并在Pacman游戏中重新加入你的分数将是零,所有的点都会回来)。对于我的屏幕切换,每次用户退出时游戏都不需要重新启动,而只需输入相应的状态即可实际模拟“暂停”游戏。如何在用户退出时阻止LibGDX / Android完全杀死游戏,但只是暂停它?
答案 0 :(得分:6)
libGDX应用程序生命周期与ApplicationListener界面中记录的Android Activity的生命周期相匹配,因此您应该期望相同的行为。当您在libGDX游戏中按主页按钮时,将调用pause方法,这与Android中的onPause相同。游戏将进入后台,但会留在记忆中。然而,这不能保证,操作系统可能会释放其他应用程序的游戏内存,实在没有办法解决这个问题。如果游戏回到前台并且游戏重新启动,则需要从暂停时加载游戏状态。
我写了自己的article on how to save and load the game state using Json in libGDX,也许这对你有用。
答案 1 :(得分:1)
您应该使用Asset Manager来阻止它,这是一个很好的教程: http://code.google.com/p/libgdx/wiki/AssetManager
官方文件: http://code.google.com/p/libgdx/wiki/AssetManager
使用资源管理器加载所有纹理
答案 2 :(得分:0)
我有同样的问题,但我找到了解决方案:
禁用名为
的Developer选项中的选项
- 不要保留活动(一旦用户离开就销毁每个活动)