房间管理器

The Room Manager当使用资源浏览器时,您可以创建您的房间,并在不同的文件夹组之间移动它们,以最适合您的方式组织项目。然而,GameMaker中的游戏通常都有一定顺序的房间,并且至少必须有一个特定的开始房间(游戏在这个房间开始后,你可以使用代码或操作去游戏中的任何房间,如果你愿意的话) ,这就是房间管理器发挥作用的地方。

您可以通过点击资源浏览器顶部的“额外”Extras Menu Icon按钮并从打开的菜单中选择它来打开房间管理器,或者您也可以简单地点击资源浏览器中房间左侧的图标LMB Icon :

Opening The Room Manager打开后,房间管理器会显示两个不同的选项卡,一个用于房间顺序 ,一个用于房间继承。房间顺序用每个房间末尾的函数room_goto_next()来定义房间访问的顺序,并且列出的最上面的房间总是由“ 家”的图标标记,这表明这个房间是指定的游戏开始房间。这个图标也将显示在资源浏览器,因此您可以清楚地看到它是哪个房间,无论您如何过滤或设置您的资源。

注意您的房间资源的ID将与此列表中定义的顺序不同,因此您不应在运行时直接提供数字值来更改房间。始终为您要引用的资源使用房间常量(仅为其名称)或通过函数检索它。

你可以改变房间的顺序,只需点击LMB Icon并拖动你想要上移或下移的房间,你可以使用Shift IconControl Icon/CMD Icon来选择多个房间,然后点击并拖动它们一起移动:

Moving Rooms Within The Room Manager房间继承选项卡用于设置“子”房间。子房间是从“父”房间复制并设置为继承其所有属性的房间。如果你对这个房间什么都不做,那么这个房间确实是原始房间的一个副本,但是你可以进入房间编辑器 ,为特定的事物如层或实例打开或关闭继承,以及为房间添加新的层、实例和属性。

The Room Inheritance Tab和房间顺序选项卡一样,你可以点击LMB Icon并拖动来重新排列房间,但是请注意,选择一个子房间并将其移动到另一个父房间将破坏与原始父房间的房间继承,而是继承新房间的属性。还要注意的是,你可以通过将一个子元素拖到列表的左边(列表边框将会突出显示) ,将它转换成一个没有继承的“完整”房间,这时它将会变成一个单独的房间。

房间可以有多个孩子,每个孩子也可以是父母,有自己的孩子,例如:

Example Of Room Inheritance With Multiple Children这里我们有一个父房间,“rm_Level_1_Day”,它有两个孩子“ rm_Level_1_Day_AfterBattle”和“ rm_Level_1_Night”。我们还指定了另一个房间“rm_Level_1_Night”的子房间“rm_Level_1_Night_AfterBattle”。通过这种方式,您可以重用来自一个父房间的资源和级别设计,然后只更改所需的内容,使其在子房间或房间中略有不同。

注意有关房间继承的详细信息,请参阅此处

最后,房间管理器还有一些额外的工具来帮助您导航和整理房间。在顶部有一个搜索栏 ,它允许您添加一个搜索词,然后快速进入名称中包含搜索词的房间。有搜索词的房间会被突出显示,然后你可以使用侧面的上/下按钮立即导航到这些房间:

Searching rooms in the Room Manager在房间管理器的底部还有一些有用的按钮,它们允许你在房间顺序列表中向上或向下移动房间:

Moving rooms up or down in the Room Manager除了这些按钮之外,还有一个 Create Group 按钮,可用于创建组文件夹。这些文件夹可以用来更好地组织房间(房间顺序受影响) ,您可以点击并拖动房间到文件夹中添加它们。您还可以通过按住Shift IconControl Icon/CMD Icon来选择多个房间,然后单击 Create Group 按钮,所有选定的房间都将添加到该组中。注意,这个会改变游戏中房间的顺序,还要注意,如果你选择以后删除组文件夹,文件夹中的任何房间也会被删除(默认情况下,GameMaker 会提醒你这一点)。

您还应该注意到,您可以右键单击房间管理器中的任何房间,以显示以下菜单:

Room Manager RMB menu此菜单提供以下选项: