Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为Android创建动态游戏引擎的自然方法_Java_Android_Android Activity_Game Engine - Fatal编程技术网

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

Java 为Android创建动态游戏引擎的自然方法,java,android,android-activity,game-engine,Java,Android,Android Activity,Game Engine,我想为Android创建一个简单的游戏引擎。我对操作系统还相当陌生,我想确保我不会从错误的方向开始 我的要求相当简单: 游戏引擎是一个运行游戏的应用程序,它是一个媒体文件包(图像、音频)+一个描述和链接不同“场景”的“描述”文件(如xml或yaml格式) “场景”只是背景图像+背景音乐+可以通过按钮触发的不同动作 通常,单击按钮会将游戏移动到不同的“场景” 我的第一个问题是:我应该有一个或多个Activity对象来创建场景吗?也就是说:最好有一个单一的活动,当点击按钮时内容会动态更新;或者每

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

我的要求相当简单:

  • 游戏引擎是一个运行游戏的应用程序,它是一个媒体文件包(图像、音频)+一个描述和链接不同“场景”的“描述”文件(如xml或yaml格式)
  • “场景”只是背景图像+背景音乐+可以通过按钮触发的不同动作
  • 通常,单击按钮会将游戏移动到不同的“场景”
我的第一个问题是:我应该有一个或多个
Activity
对象来创建场景吗?也就是说:最好有一个单一的活动,当点击按钮时内容会动态更新;或者每个场景有一个活动

请注意,困难在于游戏引擎必须动态生成活动。因此,按钮列表不能硬编码在布局文件中,因为它们来自描述文件。我发现它显示了如何动态创建布局。你会推荐使用同样的方法吗

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

欢迎任何建议

场景示例:

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

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

按照上面的类比,我想说您应该只使用一个活动,并在该活动中加载正确的场景。是否可能存在控制这些更改的活动?或在加载时显示布局的活动

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

我会选择“单个活动-多个片段”的方法