本节概述了可用于控制 Amazon Fire 游戏项目编译方式的不同选项。不同的部分如下:
全局 部分的第一部分专用于 产品信息 和 构建设置。你应该填写产品信息,其中包括项目 显示名称及它的程序包信息,其中包括域、公司和产品。程序包信息只能由小写字母 a - z 和数字 0 - 9 组成,不能包含符号或其他特殊字符,也不应该包含大写字符。然后,这些详细信息将用于生成格式为 “com.company.myappname” 的程序包 ID。
注意:如果你已经设置了 Android 目标游戏选项,则可以单击顶部的 “从 Android 同步” 按钮,将相关信息从 Android 目标传输到 Amazon Fire。
然后,你需要设置 构建工具 和 支持库版本,以及目标平台 SDK、最小 SDK 和 编译 SDK 版本。当 GameMaker Studio 2 为 Android 目标构建游戏时,将使用 构建工具 和 支持库,并且应根据你使用 Android SDK Manager 或 Android Studio 安装的工具将其设置为适当的值。The Target SDK indicates that you have tested your app on (up to and including) the version you specify here. 这只是为了让 Android 操作系统了解它应该如何在操作系统功能方面处理你的应用程序。出于所有实际目的,大多数应用程序都希望将目标平台 SDK 设置为最新发布的 API 版本(由编译 SDK 设置使用)。这将确保你的应用在最新的 Android 设备上看起来尽可能好。
最小 SDK 版本是运行项目的最低 API 级别。From August 2018 Google has made API level 26 the required minimum, but if you add extensions then they may require a higher minimum API level.
编译 SDK 版本是针对项目编译的 API 的版本。这意味着你可以使用该 API 版本中包含的 Android API 功能。如果你尝试使用 API 16 功能(例如)但设置了编译 SDK 15,那么你将收到编译错误。However, if you set the Compile SDK to 28 then you can still run the app on an API 23 device (as well as all other previous versions too).
你可以通过单击 将 SDK 值预填写到所选的 API 级别 按钮来选择其中一个预定义目标设置,该按钮将打开一个可供选择的不同 API 列表。选择其中任何一个将使用适当的值填充所有 SDK 文件,然后你可以根据需要使用或编辑这些值。
注意:你必须已在 Android SDK Manager 或 Android Studio 中安装了相应的 API,才能使项目正确编译。
全局 部分的第二部分介绍了可以运行游戏的不同 朝向,以获得最佳用户体验。可用的选项有:
- 横向
- 纵向
- 横向 - 翻转
- 纵向 - 翻转
最后,你有以下其他选项:
- 启用蓝牙/ iCade支持: 这将为你的游戏项目添加对蓝牙或 iCade 游戏手柄的支持。该选项默认为“开”。
- 启用 MOGA 游戏手柄支持: 这将启用对 MOGA 控制器的支持。请注意,所有 MOGA 功能都是通过扩展程序访问的,当你第一次选中此选项时,系统将提示你从市场下载并安装 MOGA 扩展程序。该选项默认为关。
- 运行 Lint 代码分析: 当标记此选项时,构建工具将在项目构建时对项目运行 lint 代码分析,在项目编译时提供更深入的错误检查并在输出窗口中显示更多信息(日志文件也将被创建,在输出窗口中编译结束时显示文件的路径)。请注意,并非所有由 lint 分析标记为错误的内容都必然会对你的游戏产生影响,启用此功能可能意味着你的游戏不再编译,即使它已关闭,它也会编译并运行正常。基本上这仅用于调试,默认情况下该选项处于关闭状态。
- 安装位置: 你可以在此设置游戏的默认安装位置。这可以设置为 自动,在这种情况下,游戏将安装到用户在其设备上选择的位置,或者可以设置为 首选外部,它将始终尝试将游戏安装到设备的外部存储。
你还可以在此处设置 Amazon Fire 睡眠余量 (ms)。此选项与在特定系统上运行游戏时减少停顿(stutter)有关。基本上,如果你的游戏运行速度超过你的房间速度,GameMaker Studio 2 将在剩余时间内 “休眠”,但此睡眠可能非常不准确,你可能经常睡眠时间超过必要时间,导致你的框架需要更长的时间引起停顿。为了解决这个问题,我们可以在更短的时间内休眠,然后在其余的时间内进行紧密循环以使其更准确 - 尽管进行循环的问题是它会导致 CPU 使用率增加,这反过来可以导致 CPU 温度升高,设备使用更多电量。默认情况下,此值设置为 4,在 99.99% 的情况下,你可以使用它,但对于低端设备或运行大量后台进程的设备,这可能不是理想的解决方案和值,你可能需要将其设置为 5 到 10。请注意,这是一个特定于设备的配置,并且在你的构建设备上有效但可能不适合其他用户,因此如果有疑问则将其设置为 4。
你可以在此处更改以下有关游戏显示方式的详细信息,并提供以下选项:
- 对像素间颜色进行插值: 打开插值,基本上会使像素 “平滑”。对于清晰的像素图形,它应该是关闭的,但如果你有漂亮的 alpha 混合和平滑的边缘图形,最好打开。默认为关。
- 屏幕颜色深度: 可用于设置渲染为 16 位或 24 位的颜色深度。如果设置为 24 位,这将影响与某些旧设备的兼容性,并且还会增加所需的 ashmem(这是 AmazonFire 设备上的共享内存)。
- 缩放: 在这里,你可以选择缩放绘制画布,在设备屏幕中保持纵横比 - 在边缘周围添加 “填充(padding)” 以适合屏幕 - 或者你可以选择让绘制画布拉伸拉伸以适合。
最后,可以选择设置 纹理页 的大小。默认(和最兼容)大小为 2048 x 2048,但你可以选择 256 x 256 到 4096 x 4096之间的任何位置。还有一个 预览 的按钮,它将为该平台生成纹理页面,然后打开一个窗口,以便你可以看到它们的外观。如果你希望查看纹理页面的结构并防止纹理页面比必要的更大(或更小),这可能非常有用。
注意: 请小心,纹理页面的大小越大,游戏的兼容性就越差。
本部分允许你添加项目对不同商店页面和设备所需的各种图标图像。应将所有图标图像创建为给定适当大小的 24 位 PNG 文件。
值得注意的是,GameMaker Studio 2 有一个 项目图像生成器 工具,可用于自动创建游戏编译到不同目标平台所需的所有图标。 如果使用此工具,则应修改创建的图像以确保它们符合你的要求。
在这里,你可以为最终游戏文件添加启动画面,包括横向和纵向模式,这些模式将在游戏加载到设备上时显示。 此画面应为 24 位 PNG 文件,建议与游戏的第一个房间(或视图)大小相同。 如果你要求在特定时间显示启动画面,则还可以在此处将其设置为 0 到 10 秒(默认时间为 0 表示它仅在资源加载期间显示)。
值得注意的是,GameMaker Studio 2 有一个叫做 项目图像生成器 的工具,可用于自动创建游戏编译到不同目标平台所需的所有图像。 如果使用此工具,则应修改创建的图像以确保它们符合你的要求。
在此选项卡中,你可以更改游戏在 Amazon Fire Manifest 中请求的一些权限。 GameMaker Studio 2 将根据需要自动分配权限,但是你可能会发现你需要未正确分配的游戏权限(例如,当你使用自定义扩展时),在这种情况下勾选必要的权限框。 下面的列表概述了可用的列表:
- WRITE_EXTERNAL_STORAGE: 允许你的游戏写入外部存储。
- READ_PHONE_STATE: 允许读取通话状态。
- ACCESS_NETWORK_STATE: 允许你的游戏访问有关网络的信息。
- INTERNET: 允许你的游戏打开网络套接字。
- BLUETOOTH 允许你的游戏连接到配对的蓝牙设备。
- RECORD AUDIO: 允许你的游戏录制麦克风的音频输入。
注意: 如果你不确定是否需要这些,你可能应该在默认情况下取消选中它们,让 GameMaker Studio 2 处理你游戏的权限。