Android游戏活动流程-返回开始

Android游戏活动流程-返回开始,android,android-activity,flow,Android,Android Activity,Flow,我正在寻找在Android游戏中设置导航的最佳方式;Android游戏活动导航的最佳实践。我有以下情况: 主菜单活动(在开始时向用户致意并向他们提供选项) RunLever活动(运行游戏的某个级别) 一个过渡菜单活动(它出现在两个级别之间,显示分数和类似的内容,同时提供一个进入下一级别的按钮) 因此,如果玩家开始游戏并完成两个关卡,他们可能会有一个类似以下内容的活动堆栈: 我在这里遇到的问题是按下“后退”按钮时的期望之一: 如果我在最后一个中间菜单上,按下后退键,那么我将返回主菜单。相反

我正在寻找在Android游戏中设置导航的最佳方式;Android游戏活动导航的最佳实践。我有以下情况:

  • 主菜单活动(在开始时向用户致意并向他们提供选项)
  • RunLever活动(运行游戏的某个级别)
  • 一个过渡菜单活动(它出现在两个级别之间,显示分数和类似的内容,同时提供一个进入下一级别的按钮)
因此,如果玩家开始游戏并完成两个关卡,他们可能会有一个类似以下内容的活动堆栈:

我在这里遇到的问题是按下“后退”按钮时的期望之一:

  • 如果我在最后一个中间菜单上,按下后退键,那么我将返回主菜单。相反,它可能会把我带回到我刚刚赢得的水平
  • 我不希望我玩过的最后一个关卡和之前的中间菜单活动停留在后面的堆栈中。我只希望主菜单、我正在玩的当前关卡和中间菜单的一个实例在任何时候都位于后堆栈中

据我所知,其他一切都将正常工作,正如用户所期望的那样。我想我只是想知道解决这类问题的最佳选择是什么。以确保此游戏中的活动按预期进行。它们甚至应该是单独的活动吗?谢谢。

在完成一个级别后,您是否可以弹出活动堆栈,并在已存在的中间活动再次激活时检测(例如)一级活动是否已完成,而不是推送一个新的中间菜单活动


这样,第一个“后退”将始终返回中间位置,第二个“后退”将返回主菜单,第三个“后退”将退出游戏。所有这些可能都是用户所期望的。

+1是一个很好的答案。这不仅仅在复杂性方面有益。这将花费更少的内存,特别是在游戏场景中。一个不错的策略。当你第一次开始游戏并从主菜单->中间菜单->跑步关卡进入游戏时,你会怎么做?但是当你这样做时,你不想显示中间菜单。也许可以让中间菜单识别出还没有玩过关卡,然后直接向前传球?如果你想在推回时进行中间表演,可以。尽管在第一次“返回”时返回主菜单也可能有效。尝试两种方法,看看你和/或你的测试人员觉得什么更自然。希望这有帮助,祝你好运!