Rooms

房间 是游戏中一切发生的地方。您可以在 IDE 中使用 房间编辑器 创建它们,或者在运行时使用 修改房间 下的函数创建它们。

任何 GameMaker 游戏都必须至少有一个房间才能运行,但您可能需要更多房间,具体取决于游戏类型以及您构建项目的方式。默认情况下,新的 GameMaker 项目会添加一个房间。

本节包含与房间相关的所有通用 GML 函数和变量,用于获取有关房间的信息以及设置其中的某些属性。

功能参考

全局

以下全局变量和函数可用于获取有关任何给定房间的基本信息:

注意 上面列出的变量在脚本中无效,因为脚本是在加载第一个房间之前执行的。

这仅适用于在脚本根部编写的代码,但不要在脚本内创建的函数,因为这些函数可以在游戏过程中随时执行。

信息

您还可以使用以下函数来查明房间是否存在、获取其名称 (如 资产浏览器 中所定义) 和一般信息:

切换房间

修改房间

注意 这些函数 不应从您希望更改的房间内运行 ,而应首​​先从另一个房间中的实例运行。

注意 如果您以这种方式更改任何房间资产,则该更改是 永久 的,并且将在整个游戏期间保持不变,即使您调用 room_restart 函数 (关闭并重新启动游戏将重置房间属性)。

图层和元素

滤镜和效果

重要 创建房间层时 您可以在一层上拥有多种不同的元素类型 。因此,例如,您可能有一个敌人层,并且该层上有敌人实例以及仅与该敌人相关的某些精灵资产。或者,您可以使用带有图块地图元素的背景元素来创建房间的外观。这在 房间编辑器 中是不允许的,但在动态创建内容时您可以这样做,这就是存在 layer_get_all_elements 等函数的原因。