内含文件


GameMaker Studio 2 使用的资源不局限于你在程序中创建的。在 主窗口的 资源树 中有一个特殊部分 —— 内含文件 。在这里,你可以将不同的文件类型(甚至为它们创建子目录)加载到 GameMaker Studio 2 中,然后它们将作为所选目标平台的包的一部分包含在最终游戏中。 因此,例如,在Windows游戏中,它们将捆绑在 * .exe 中并在运行时导出,或者在 HTML5 中,它们将包含在 html5_game 文件夹中并存储在服务器上。

要将文件添加到资源,必须右键单击 资源树的 内含文件 部分,然后选择 插入内含的文件,或者,如果要创建用于存储其他文件的子目录,请单击 添加组。然后,这将提示你向列表添加一个文件或多个文件。添加完成后,你可以右键单击 它并选择 属性 以编辑文件的属性。Included File Properties 如果你修改 文件名,可以在此重命名文件。 在文件名下方还有一系列选项用来设置这个文件需要被包含进哪些目标平台的程序中。如果你希望仅在浏览器中运行游戏时将其导出,那么你只需勾选 HTML5 框,如果你希望仅将其导出到 Android 和 iOS 目标,则可以勾选这些内容,依此类推。如果你选择不勾选任何目标,则根本不会导出该文件。此选项对于那些希望使用配置管理器来存储某些配置并根据它们导出特定文件的用户特别有用(单击你要使用的配置,勾选 / 取消勾选你需要的平台,然后如果你更改配置,那么选择的文件将会继承你的更改)。

单击“确定”后,文件将与当前项目一起存储在项目目录中名为 data-files 的文件夹中。如果在将文件添加到资源树时选择更改文件名,则现在将 使用该新名称 存储该文件。请注意,从现在开始,你应该编辑存储在此文件夹中的文件而不是原始文件(除非你打算再次包含它们,但通常没有必要)。

有关如何在游戏中存储包含文件以及如何访问它们的详细信息,请参阅 文件系统 部分。

重要! 包含声音文件时,应确保文件避免与 流式 声音资源的名称冲突。例如,当项目运行时,名为 “music” 的声音资源和名为 “music.ogg” 的内含文件将被 取消定义


值得注意的是,你可以将 DLL(在 WIndows上)或 DyLib(在 Mac OS上)文件作为内含文件包含在内,然后使用 external_define 创建自己的自定义函数来处理它们。然后可以使用这 external_call 调用这些函数。

警告! 使用内含文件这种方式创建额外的功能与 扩展 系统 不兼容。这样一来你就不能为在扩展中添加的新文件使用 external_ 函数,因为扩展中已经有一个添加常量和函数的方法。