开发游戏

时间:2011-09-13 06:17:40

标签: android libgdx

我正在使用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();
}

2 个答案:

答案 0 :(得分:4)

我觉得你很困惑,你的回叫功能中显示的暂停和恢复状态与你的游戏无关,或者游戏是否正在“玩”。当操作系统因某种原因决定暂停应用程序时,将使用这些调用。

快速浏览android开发者文档将帮助您解决这些“终生”问题 - 另一方面,您需要以某种方式在游戏中实现自己的暂停和恢复逻辑。

答案 1 :(得分:1)

解决此问题的一种方法是为游戏状态制作一个枚举(播放,暂停)。在主游戏循环中,您可以使用if else语句。 if(GameState == PLAY)更新所有游戏内容。 if(GameState == PAUSE)更新菜单管理器。

通常在游戏架构中,应该使用状态来解决这些类型的问题。游戏架构的另一个规则是让所有游戏实体与elapsedTime相关。这样,无论玩什么设备,游戏比率总是相同的。我在所有游戏中都使用秒作为小数,因此所有动作都以米/秒为单位。这样我就可以插入真实的物理方程式,所以我不会一直在追逐疯狂的数字,试图让事情发挥作用。

在这种情况下,暂停的快速解决方法是在游戏处于暂停状态时将经过的秒数设置为零。这是一个黑客!证明使用状态几乎总是最好的主意,特别是对于经理类,比如游戏类。

您甚至可以考虑创建一个负责状态之间转换的GameState类。这对于播放声音和开始动画非常方便,例如菜单从屏幕顶部向下移动,此时游戏既不是暂停也不是播放;值得深思。

进入手机游戏时,拥有TOMBSTONE和REVIVE过渡状态非常适合在设备处理其他应用程序时暂时将游戏缓存到存储中。