此函数会结束当前游戏并启动 包含文件 中包含的另一个游戏。
它允许您拥有一个主游戏,您可以从中启动您保留在不同 GameMaker 项目中的其他游戏。可以在已启动的游戏中再次调用该函数以返回主游戏。
该功能支持 Windows、macOS、PS4、PS5 和 Switch 平台。
重要信息 此函数仅适用于 VM 版本。
重要信息 GameMaker 对 .win 文件的命名有所不同,具体取决于您的游戏是从 IDE 运行还是从最终可执行文件 (使用中的 创建可执行文件 创建) 运行} 构建菜单 )。从 IDE 运行时,名称将为 $"{game_project_name}.win",否则名称将为 "data.win"。您应该始终确保引用正确的名称,例如通过设置不同的 配置 。
注意 由于子游戏的外部文件包含在主游戏的 数据文件 中,因此也可以从主游戏访问它们。
下表提供了每个受支持平台上提供的工作目录和启动参数的示例:
平台 | 工作目录 | 启动参数 |
---|---|---|
Windows | "/game2" | "-game game2.win" |
macOS | "game2" | "" |
PS4/PS5 | "" | "-game /app0/games/game2/game.win" |
Switch | "rom:/game2/" | "" |
game_change(working_directory, launch_parameters);
参数 | 类型 | 描述 |
---|---|---|
working_directory | String | 要启动的游戏的工作目录 |
launch_parameters | String | 传递给要启动的游戏的命令行参数 |
N/A
game_change("/chapter3", "-game chapter3.win");
上述代码从启动器游戏运行并启动 "Chapter 3" 游戏,该游戏存储在 包含文件 下的子目录 "chapter3" 中。
game_change("/../", "-game main_game.win");
上面的代码从从启动器游戏启动的游戏运行并返回到主 / 启动器游戏。双点 .. 表示游戏的工作目录是当前工作目录的上一级。