为Android创建动态游戏引擎的自然方法



我想为Android创建一个简单的游戏引擎。我对操作系统相当陌生,我想确保我不会从错误的方向开始。

我的要求相当简单:

    游戏
  • 引擎是一个运行游戏的应用程序,该游戏以媒体文件(图像、音频)捆绑包 + 一个描述和链接不同"场景"的"描述"文件(例如.xml或 yaml 格式)的形式提供。
  • "场景"只是一个背景图像+背景音乐+可以用按钮触发的不同动作。
  • 通常,单击按钮会将游戏移动到不同的"场景"。

的第一个问题是:我应该有一个或多个Activity对象来创建场景吗?也就是说:单击按钮时动态更新内容的单个活动是否更好;或者每个场景有一个活动。

请注意,困难在于游戏引擎必须动态生成活动。因此,按钮列表不能在布局文件中进行硬编码,因为它们来自说明文件。我找到了这个示例,它显示了如何动态创建布局。你会建议使用相同的方法吗?

假设我对所有场景使用单个活动,这意味着当我切换场景(通过单击按钮)时,我需要完全更新视图(背景和按钮)。为此,我应该使用 removeView() 逐个删除每个元素,还是使用 setContentView() 创建一个新的空白布局,然后用新的背景和按钮填充它?

欢迎任何建议。

场景示例:

  • 背景图片:卧室图片
  • 背景音乐:bedroom_music.mp3
  • 行动:
    • 离开房间 => 转到客厅场景
    • 透过窗户离开房间=> 进入花园场景
    • 拿起闹钟=>将时钟添加到库存

活动通常用于不同的"视图"。例如:聊天应用程序将具有大厅活动,并在打开聊天屏幕时启动新活动。

按照上面的类比,我会说你应该只使用一个活动并在该活动中加载正确的场景。可能有活动控制这些变化?或者在加载时显示布局的活动。

话虽如此。我认为您必须设计可以转换为按钮/墙壁/怪物等的自定义对象。这将使按钮/对象的动态加载更容易。在 Android 中,您必须在布局 xml 文件中定义按钮/视觉对象。此文件将由活动加载。我不认为这些 xml 文件可以即时修改。

最新更新