在 GameMaker 系列中有一个很实用的功能就是将部分资源导出为一个包。然后可以将这个包导入到另一个项目里或者分享给别人,不需要把一堆资源和代码复制粘贴到另一个项目或者将整个项目都发出来。

GameMaker 8.1 及之前的版本

在 GameMaker 8.1 之前的版本,你只需要在 文件--> 输出资源,找一个地方放,然后选择你要导出的部分就行,非常简单。导出的文件后缀为 .gmres 。不过不能选择一部分资源导出,比如在一堆精灵中导出三四个这种是不能做到的。

GameMaker: Studio

打开项目后在左侧 Extensions 中右键点击 Create Extension 。

然后在弹出的窗口中的 General 选项卡填写名称和版本并选择适用的平台。

在 Export Resources 中你可以自由选择你需要打包在资源包里的资源

返回 General 选项卡点击 Create ,这样一个资源包就创建好了。

右键刚刚创建的资源包中点击 Export extension,保存即可得到一个 .gmez 文件。

最后这个 .gmez 文件就可以导入给另一个项目或者发布出去了。

可选(在 1.4.9999 Final 无此选项)

在 Marketplace 菜单中找到 Properties,找到 Certificate 选项卡,填写发布者名称和相关信息,发布者名称可以是创建在创建发布者账户时的名称。

注:GameMaker: Studio 部分的具体操作我差不多快忘了,有一些步骤可能不需要

GameMaker Studio 2

从 GameMaker Studio 2 开始,已经没有像 GameMaker: Studio 那样方便地导出了,你需要一个发布者账户(这个账户不同于 YoYo Account),而且现在的版本你还需要你的账户拥有 GameMaker Studio 2 的正版许可证(破解是没办法的了)。

最无语的是你在创建包的时候 GMS 2 会自动将包上传到商店,没有单独导出的选项(SB YoYo!SB YoYo!SB YoYo!)

没有导出资源包选项,那怎么搞???

尽管官方 GM 社区有 GMTransferGMS2 Resource Importer 这样的方案,不过还是感觉很诡异,比如你自己只是写了一个几 kb 级别的一些脚本,你就要以完整的 GMS2 项目形式去想办法导入到另一个项目,麻烦啊。

不过 YellowAfterlife 大佬倒是给出了一个折中的方案:

大体的意思是:先把包上传到市场,然后下载 .yymp 格式的文件,最后在市场删除这个包。

emmmmmm,好像也没啥问题(我自己也试了一遍确实可以)。

先去注册一个发布者账户

从 YoYo Games 登录自己的账号以后在左侧的 Publisher 点击 Add Publisher:

填写一些基本的信息,不是很难,Example Link 可以写自己公开的项目地址,如果有 GitHub 账户的话也可以写 GitHub 地址。不过这里要注意的是在 Example Link 那一行的下方有 reCAPTCHA 的人机身份验证,所以这里需要挂梯子,确保你的梯子能够正常访问 Google 。

同时你要需要注意 YoYo Games 的发布者许可协议和隐私条款。

发布者许可协议:https://marketplace.yoyogames.com/publishers/terms

隐私条款:https://marketplace.yoyogames.com/privacy

同意则打勾,特别要注意发布者许可协议,里面包含了资源类别相关的内容。

在创建成功后还有一个作者许可协议也要注意:https://accounts.yoyogames.com/terms/author

Allow Steam purchanses 则是允许在 Steam 购买资源,取消勾选将不能在 Steam 版本的 GameMaker Studio 2 的 Marketplace 添加或购买该发布者的资源(这个选项可随时更改)。

这样一个发布者账户就创建成功了。

GMS 2 里的操作

确认 GMS 2 已经登录了 YoYo 账户后先在偏好设定 --> 市场 中点击 创建新的证书,填写发布者名称(此时发布者名称必须是在创建发布者账户时的名称)并设置证书密码,保存到一个合适的位置。

创建证书完毕后在证书文件处选择刚才保存的证书文件地址,并输入证书密码,点一下旁边的检测,如果有效就可以保存设定了。

关闭偏好设定后,点击 市场 --> 创建包。

会弹出这个界面,此时发布者选择你创建时的发布者名称,确定显示名称和版本号后在右侧选择你需要打包的资源,资源包类型可选择 资源 / 演示 / 教程,这里选择 资源 ,添加操作与 GM: S 类似。

确认添加后点击确定将自动打包并上传到商店。

此时打开另一个浏览器,登录 YoYo 账户,在左侧的 Publisher 点击你所创建的发布者,将会跳转到另一个面板,你可以看到你上传的资源包在准备状态并未被发布。

点击你的资源包,在左侧找到 Versions,你可以看到已经上传的资源包,点击下载图标就能获取到已经打包完毕的资源包,格式为 .yymp

现在面板里准备发布的资源包去留问题就交给你自己了,你可以填写信息顺势发布出去,也可以直接删除它。

如果你不想下载的话,还可以在 {4adef2c7dd6a811ff1907525de0c68a67df8c831b3dae56d5e732de917a75894}appdata{4adef2c7dd6a811ff1907525de0c68a67df8c831b3dae56d5e732de917a75894}\GameMakerStudio2\( 你的账号 )\Marketplace\Packages 里找到刚刚打包的资源包。

不过不知道 YoYo 用了什么黑科技,上传到商店的资源包比在本地打包的资源包还要小(左商店右本地)。

至于接下来该怎么做,就不是我的事情了。