扩展编辑器

一个扩展包可以用来在GameMaker语言(GML)中添加一些额外的函数和常量,并在项目之间轻松转移它们。扩展函数也可以链接到外部SDK或用其他语言编写的源代码(如Android的Java,iOS的Objective-C等),可以用来扩展你的游戏功能(通常用于实现第三方API,如用于广告、应用内购买等)。

Extensions Properties

扩展可以用来创建一个在所有项目中经常使用的函数库,因此不必将相同的脚本导入到每个项目中,您可以简单地添加一个扩展资源,其中包含您最喜欢的函数和常量的集合。这些功能也可以特定于某个平台,您可以轻松地选择扩展可以在哪个平台上使用。

有关创建扩展的逐步示例,请参见: 创建扩展

若要基于目标平台禁用扩展,请参见: 如何禁用扩展?

导入扩展插件

一般来说,第三方扩展将来自于GameMaker Marketplace ,那些你已经订阅的扩展将会在市场库窗口中列出,这个窗口可以从那里安装。如果您没有从 Marketplace 获得扩展包,您仍然可以通过在资源浏览器中的任何地方右键单击RMB Icon并选择添加现有 ,然后浏览到扩展的位置来选择它来将其添加到项目中。

注意 如果您有 .yymps/.yymp/.gmez 包,则可以将其拖到 IDE 中以导入它,或者转到"工具"菜单下并选择"导入本地包"。

目标平台

一旦你在资源浏览器中添加了一个扩展,你应该给它一个名字和一个版本号,同时设置你想把它导出到哪些平台。通过取消选中的平台,你可以告诉GameMaker不把扩展作为这些平台的可执行文件的一部分导出。你还应该确保扩展的属性与选定的目标平台相匹配,并根据以下内容为扩展文件选择兼容的导出目标。

注意某些扩展需要遵循GameMaker的特定命名约定,以正确识别其设计所针对的平台和CPU体系结构。有关详细信息,请参阅命名约定

由于一个扩展可以有各种相关的文件,所以有可能为多个平台创建一个扩展,在这种情况下,你要在主扩展编辑器中指定所有的兼容平台(即:勾选旁边的复选框),然后在扩展的每个部分的个别文件属性中,设置这些文件应该被导出的平台。

要更改特定扩展文件或占位符的目标平台,必须首先打开扩展属性 (在 资源浏览器 中双击 LMB Icon 扩展),然后在扩展属性中从右侧选择要编辑的资源文件。在打开的窗口中,可以选择要将该特定文件导出到的平台:

Extension Target Platforms

扩展选项

你正在使用的扩展可能有选项,这些选项将显示在扩展编辑器窗口的底部。

这些将是不同的,取决于扩展,而且不是所有的扩展都有选项。请看你所使用的扩展的文档,了解其选项的信息。

要为自己的扩展设置选项,请参阅: 创建扩展选项

建立时解压

"构建时解压 "选项可用于为特定目标平台准备的压缩档案文件。如果这个选项被启用,该归档文件的内容将被解压缩到已建软件包的包含文件目录中,但只有在被复制到目标平台之后。

例如,如果你对扩展中的.zip文件启用了这个功能,然后从Windows启动macOS 构建,那么.zip存档将被原样从Windows复制到macOS,然后在目标平台(在这里是指macOS)上编译时被解压缩。

调用扩展函数

一旦你设置了你的扩展,你就可以像使用GameMaker语言中的内置函数和常量一样使用它的函数和常量。如果你的游戏是跨平台的(例如,它被设计为在 Windows和Android目标上运行),那么你应该使用OS常量和函数,在调用扩展的特定函数之前检查当前的平台,以防止问题,例如:

switch (os_type)
{
    case os_android:
        call_android_extension_function(x, y, z);
    break;

    case os_windows:
        call_windows_extension_function(x, y, z);
    break;
}

请注意,对于不同的平台,你的扩展可以共享功能名称,因此,如果你有一个不同的扩展文件,(例如)在Windows和Android上弹出一个消息,只要它们都被设置为只输出到各自的平台,这两个扩展文件可以共享相同的功能名称。

如果你想创建自己的扩展,那么你可以从以下网页中找到基本的所需信息。

 

官方的第三方扩展

传统版本的GameMaker内置了很多第三方功能,但这是低效且难以维护的,因为如果第三方改变了任何特定的功能,那么整个GameMaker的IDERuntime就必须要更新。所以,目前的版本采用了使用扩展包来为你的游戏添加第三方支持。这意味着你可以只添加那些你需要的额外功能,你甚至可以调整和编辑它们以适应你的特定需求。

当你选择特定的游戏选项时,大多数这些扩展将为你下载和安装(例如Facebook或谷歌移动广告),但你可以从GameMaker 知识库中每个平台的相应部分找到关于它们的进一步信息。

你可以从以下市场页面找到这些扩展程序:

请注意,这些扩展程序都有一个演示和一个帮助文件(*.pdf格式),解释如何使用它们,因此它们的功能在本手册中没有涉及。