我正在开发一个使用libgdx框架的游戏。当我暂停游戏时,我想要启动一个对话框,在该对话框中,我想使用一个恢复按钮。我知道我应该使用pause()
和resume()
方法,但是我不能理解我应该在这些方法中写什么。
任何帮助都将受到重视。
我的代码:
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
}
发布于 2011-09-13 14:22:44
我想你搞错了,在你的回调函数中指示的暂停和恢复状态与你的游戏无关,也与游戏是否正在“玩”无关。当操作系统出于某种原因决定挂起应用程序时,将使用这些调用。
快速浏览一下android开发者文档将帮助你解决这些“终生”问题--另一方面,你需要在游戏中以某种方式实现你自己的暂停和恢复逻辑。
发布于 2012-11-25 15:37:16
解决此问题的一种方法是为您的游戏状态(播放、暂停)创建枚举。在主游戏循环中,您可以使用if else语句。如果(GameState == PLAY)更新所有游戏内容。如果(GameState == PAUSE)更新您的菜单管理器。
通常,在游戏架构中,人们应该使用状态来解决这些类型的问题。游戏架构的另一个规则是让所有游戏实体的行为都与elapsedTime相关。这样,无论在什么设备上玩游戏,玩游戏的速度都是相同的。我在所有的游戏中都使用秒作为小数,所以所有的运动都是以米/秒为单位。这样我就可以插入真实的物理方程,这样我就不会一直追逐疯狂的数字,试图让事情变得正常。
在这种情况下,暂停的一个快速修复方法是在游戏处于暂停状态时将已用秒数设置为零。这是个黑客!证明使用状态几乎总是最好的想法,特别是对于像游戏类这样的管理器类。
您甚至可以考虑创建一个负责状态之间转换的GameState类。这对于播放声音和启动动画很方便,比如菜单从屏幕顶部向下移动,此时游戏既不在暂停也不在游戏中;这是思考的食粮。
进入手机游戏,拥有一个墓碑和恢复转换状态将是在设备处理其他应用程序时将游戏临时缓存到存储中的完美选择。
https://stackoverflow.com/questions/7397589
复制相似问题