我正在为Android编写游戏。我的GUI有以下基本屏幕(即每个屏幕上所需的信息和交互将占用整个显示屏):
以下是用户可能在这些屏幕之间进行的一些示例转换:
1-> 2-> 7-> 2-> 6(开始新游戏,暂停游戏,返回游戏,完成游戏) 1-> 5-> 1-> 4-> 1(关于屏幕的视图,返回主视图,视图评分屏幕,返回主页)
我真的很困惑何时只有一个活动可以切换布局以及何时创建新的活动类。例如,当我的游戏加载时,我有一个“主”活动加载主菜单布局。当您单击设置按钮时,我启动“设置”活动(使用Android的标准设置GUI)。目前,当你开始游戏时,我将“main”的布局切换到游戏屏幕布局(它只包含一个大的表面视图)。我不太确定将游戏整合到屏幕,高分屏幕,屏幕等方面的最佳方式。
为每个人创建一个新活动对我来说似乎非常重要。每项活动都涉及相当多的锅炉板代码。此外,活动之间的沟通似乎很痛苦,因为你必须使用捆绑。仅使用一个活动意味着我可以直接共享对象字段。似乎使用上面的布局会更紧凑。
有人能给我一些建议吗?
答案 0 :(得分:1)
在我的游戏中,我为大多数活动使用活动(玩,看帮助,看高分,更改设置)。在一个应用程序中意味着您可以在一个单例中共享一些内容(例如当前游戏)。 你可能不需要在活动之间进行大量的沟通,主要是“订单”(这就是你参加这项活动的原因,例如高分数屏幕中的新高分),它可能会通过意图发送(我使用的是URL而不是Bundle)。
可以在对话框中进行一些操作(我使用它们来启动新游戏,或者键入播放器的名称)。我的规则是,如果屏幕完全改变,那么它就是一个新的活动。这样布局很简单。