图层类型和属性

进入您在房间编辑器中创建的房间的所有内容都放置在一个上。层可以从层编辑器中添加、删除和排序,并且有各种不同的类型,每种类型都有自己的一组选项和工作方式。您不受每种类型的层的数量限制,可以有多个图块层、路径层或实例层等。每种类型的层都有自己的属性窗口,您可以在其中根据层类型设置不同的设置。您还可以切换层的可见性,在运行时处理不可见层而不是(但您可以随时使用适当的层函数layer_set_visible使它们再次可见)。

Room Layers上图显示了层编辑器,当前层在顶部列出,用于创建层的不同按钮在底部。您可以通过在名称上缓慢地双击来重命名此编辑器中的任何层(请注意,您不能使用除字母、数字和下划线"_"字符以外的任何名称),您还可以通过单击眼睛图标Eye Icon来打开或关闭其可见性。如果房间继承了父房间的层,您可以通过底部的按钮切换继承,但请注意,这将影响所有层(有关继承的更多信息,请参阅房间继承)。您也可以使用Shift IconControl Icon/CMD Icon,然后在多个层上左键单击LMB Icon以选择要复制或删除的层(这些选项也可以从鼠标右键RMB Icon菜单中选择)。

为了帮助您对层进行排序并使其保持整洁,您可以通过单击文件夹图标Folder Icon在层文件夹中创建层组。您还可以通过单击删除按钮Delete Layer Icon来删除一个或多个选定的层。所有层都将有一个深度值,该值定义当该层的内容在房间中呈现时,该层将被放置在绘制顺序中的位置。层从最高深度到最低绘制,因此深度为-100的层将在深度为200的层以上绘制。

重要 有一个最小和最大的层深在 -1600016000 之间。放置在该范围之外的层上的任何内容都不会被绘制,尽管该层上的所有事件仍将正常运行。

如果在任意层上右击RMB Icon ,则会出现层菜单:

Room Layer Menu您可以在此打开所选层的层属性窗口、删除层、重命名层或添加子层。如果选择添加子层,则会在子层下创建新层,并将其放置在右侧的选项卡中。然后,可以选择让子层继承父层的属性,还可以设置子层是否应该继承父层的可见性。

请注意,您可以在窗口中向上或向下拖动层以重新排序,也可以使用 Shift Icon+LMB Icon 从一个层选择到另一个层 (包括中间的所有层) 或使用 Control Icon/CMD Icon+LMB Icon 一次选择一个层来选择和移动多个层。如果将层放置在层文件夹的顶部,它们将被移动并设置为放置它们的文件夹的子层。您还可以使用锁定按钮 Padlock Icon 锁定层,以防止错误地编辑它们。

注意 在放置不同资源的实际编辑窗口中,您可以按住"P"并在任意位置单击,以立即选择资源并跳到已放置该资源的层。

下面您可以找到每个可用层类型的概述以及该层的可编辑属性:

Background Layer Icon背景背景

您可以通过单击Background Layer Icon 按钮来添加新的背景层。这将添加新层,然后打开背景属性窗口:

Room Layer Background properties

创建新的背景层时,默认情况下它没有精灵设置,因此 GameMaker 会用纯色填充该层(您可以单击预览框打开颜色选择器并更改所使用的颜色)。当使用简单的颜色时,游戏中不会使用其他任何层设置。

如果您选择的是精灵,则可以水平或垂直图块图像,选择是否拉伸图像以填充整个房间,并根据需要对图像进行偏移。此外,如果你想让背景在一个方向上滚动,你也可以设置水平和/或垂直速度(游戏的每一步都会沿着你在这里设置的像素数沿给定轴移动),你也可以通过设置x和y偏移值来重新定位背景图像。如果选定的精灵资源具有多个子图像,也可以设置背景的动画速度,尽管默认情况下该速度锁定为您在精灵编辑器中为使用的图像设置的值。最后,您可以显式设置层的深度,尽管默认情况下该深度再次处于锁定状态,您只需在层编辑器中拖动并重新排序层顺序即可更改此值。

注意 您也可以通过单击最上面的按钮从该窗口切换背景的继承。

 

Instance Layer Icon实例实例

您可以通过点击Instance Layer Icon 按钮来添加新的实例层。这将添加新层,然后打开实例属性窗口:

Room Layer Instance propertiesThis window simply shows a list of all the instances that are currently on the layer. You can add more instances to a layer by opening up The Asset Browser and then dragging objects from there into the room, or alternatively you can select an instance from the Asset Browser and then press and hold Alt Icon to preview the resource "in-situ", and if you additionally click the left mouse button LMB Icon you can add the instance and even "paint" it into the room layer by maintaining the button pressed and moving the mouse.

The layer list can be ordered by clicking LMB Icon and dragging an instance in the list to the position required, but it is worth noting that this is purely for organisational purposes within the Room Editor and if you want to set a specific creation order, please use the Creation Order Window, which can be opened from the Room Properties window, or from the Room context menu.

双击任何实例上的 LMB Icon( 无论是在 Room Editor 本身还是在属性列表中) 都会打开一个新窗口,让您修改该单个唯一实例的各个方面:

Room Instance propertiesBy default the instance will have a name like inst_38B0BFF, but this can be changed to anything you want as long as the name uses only alpha-numeric characters and the under-bar _ (and no spaces). However it's worth noting that the name given here (whether it's one you give, or the default one that the IDE gives) is considered a constant and so must be unique to the instance. This also means that it can be used in code in your game to identify the instance, but only if you are in the same room as the instance.

注意 在游戏中,此名称是实例的句柄。如需了解更多信息,请参阅 数据类型

在实例名称下方,您可以使用按钮来设置实例是否从父房间继承、更改您希望其作为实例的对象,甚至如果您希望更改任何内容,甚至可以打开 对象编辑器 那里。有一个按钮可通过 对象变量 窗口检查和编辑变量,您也可以更改此实例的初始特征、设置与其混合的颜色 (默认为白色),或旋转和翻转它。您还可以沿一个或两个轴缩放实例,并设置其在房间内的位置,以及图像速度和精灵要使用的初始帧。

最后,您可以为实例提供一些创建代码,该代码将在对象创建事件代码之后直接运行,并且对该实例是唯一的(因此,您可以在对象中设置一个变量,然后所有实例都将在创建代码中对其进行修改,使其成为一个实例的唯一值)。单击此选项会将一个脚本窗口链接到实例,您可以在其中添加任何函数或修改任何变量,此代码将在创建实例并运行实例创建事件之后直接运行。请注意,您可以独立于实例继承打开或关闭创建代码的继承。

值得注意的是,当制作游戏时,层上的每个实例都会自动标记为要导出。然而,特别是在处理继承时,您可能不希望在最终游戏中将多个特定实例添加到房间中(或者您可能在每个房间中都有一个调试实例,只是希望将其从最终游戏中排除)。如果是这种情况,则只需取消选中列表中实例左侧的"导出"复选框即可阻止将其作为可执行文件的一部分导出。但是,需要注意的是,如果您有任何引用该实例的代码,则游戏将无法正常运行,因此请谨慎使用此功能。

 

Tile map Layer Icon图块图块

您可以通过单击Tile map Layer Icon按钮添加新的图块层。这将添加新层并向其添加单个图块地图,然后打开图块层属性窗口和图块编辑窗口:

Room Layer Tile properties图块层属性中,如果希望图层网格不与 (0,0) 房间的位置。您还可以设置图层应渲染的深度(它有自己独特的继承按钮),你也可以"锁定"这个深度,这将防止在它创建后进行任何进一步的编辑。

当层属性窗口打开时,它还将打开图块编辑窗口,其中显示正在使用的图块设置(如果您错误地关闭了此窗口,您可以从IDE顶部的房间图块编辑菜单中再次打开它)。您可以单击任何图块上的LMB Icon将其选为当前的画笔,然后通过单击工作室画布上的LMB Icon将它们绘制到房间编辑器中的层,或者,如果要将多个图块绘制在一起,您可以在绘制之前通过单击鼠标左键LMB Icon并从图块集中拖动选择它们作为一组来选择它们。如果要一起绘制的图块范围不在块中,则可以按住Control Icon/CMD Icon,然后使用鼠标左键LMB Icon选择各个图块并创建自定义画笔(也可以使用Alt IconLMB Icon从自定义画笔中删除图块)。请注意,以这种方式创建自定义笔刷是临时的,仅供一次性使用,但您可以使用笔刷选项卡中的编辑模式来创建将存储在图块集资源中的永久笔刷:

请注意,图块编辑窗口允许您使用鼠标滚轮或顶部的按钮来放大和缩小图块,并且您可以使用鼠标中键MMB IconSpace Icon+LMB Icon进行平移。请注意,也有一个网格选项,可以打开或关闭它来分隔窗口中的图块,您也可以设置网格的颜色,尽管图块将始终 对齐到网格上,无论它是否可见。

图块编辑窗口还允许您从库选项卡中选择画笔动画图块自动图块,所有这些都在图块集编辑器上的一节中介绍。

在房间编辑器的顶部,当您选择了图块层时,您将看到一组特定于图块的工具:

Pencil Tool IconPencil这是铅笔工具。它使用选定的图块在房间编辑器中使用鼠标左键LMB Icon进行绘制,您可以使用鼠标右键RMB Icon进行擦除。请注意,图块的索引值显示在房间编辑器中房间状态栏的底部,如果您选择了多个图块进行绘制(即:画笔),则将显示所有使用的图块索引的列表。
Eraser Tool IconEraser使用橡皮擦工具,您可以使用鼠标左键LMB Icon擦除房间编辑器中的给定图块。实际上,所有这些操作都是将图块索引设置为0,即保留的"空"图块。
Fill Tool IconFill填充工具允许您用当前的拼贴画笔填充整个拼贴图层或选定的拼贴。您使用的画笔可以是单个图块或由多个图块组成的复合画笔,甚至可以是动画库中的图块,然后单击层上的LMB Icon 将使用所选的画笔填充图块。如果您尚未使用选择工具,则填充将在所有连续的空的图块上进行,或在同一索引的所有连续图块上进行。如果在层中有选区,则填充将被约束为在该选区内。
Line Tool IconLine选择线条工具时,单击LMB Icon,然后拖动并释放将在您单击的位置和释放的位置之间创建一条图块线条。如果使用选择工具选择了图块地图层的一个区域,则该线将仅添加到选择范围内。可以使用单个拼贴画笔、各种拼贴的复合画笔或库中的动画拼贴来绘制线条。
Rctangle Tool IconRectangle当您选择矩形工具时,单击LMB Icon,然后拖动并释放将创建一个填充的矩形图块,左上角是您单击的位置,右下角是您释放的位置。如果使用截面工具选择了图块图层的一个区域,则该矩形将仅添加到选择范围内。可以使用单个拼贴画笔、各种拼贴的复合画笔或库中的动画拼贴绘制矩形。
Selection Tool IconSelection这是选择工具,可用于定义要处理的图块层区域。您可以单击鼠标左键 LMB Icon,然后拖动鼠标创建一个矩形区域,也可以按 Control Icon/CMD Icon+LMB Icon 添加多个选项,按 Alt Icon+LMB Icon 清除部分选项。要清除整个选择,您可以按 Escape Icon。当您选择了一个图块层的一个区域时,其余的工具 (铅笔、翻转、旋转等)。将仅在选定区域内工作。请注意,您还可以在房间编辑器中复制 (Control Icon/CMD Icon+"C")、剪切 (Control Icon/CMD Icon+"X") 和粘贴 (Control Icon/CMD Icon+"V") 选定的图块,然后将工具切换到铅笔,并允许您使用选定的图块绘制房间层。
Autotile Tool IconAutoTile单击此工具可启用自动图块绘制样式。激活后,您可以从自动图块图库选项卡中选择任何图块,然后将其绘制到房间层中,GameMaker将自动更改它以匹配周围的图块,只要您正确设置了自动图块选项卡。请注意,从图块集中选择不属于自动图块库的图块会将绘制工具重置为标准铅笔工具。
Flip Tool IconFlip使用鼠标左键LMB Icon单击翻转工具(或使用键盘快捷键"X")将沿水平轴翻转当前选定要绘制的图块,而不会更改绘制工具(如果您选择了要绘制的自定义画笔,则整个画笔将翻转)。如果没有选定要绘制的图块,但在某个层上选择了一组图块,则翻转工具将翻转选定的图块。
Mirror Tool IconMirror使用鼠标左键LMB Icon(或使用键盘快捷键"Y")单击镜像工具将沿垂直轴镜像当前选定要绘制的图块,而不会更改绘制工具(如果您选择了要绘制的自定义画笔,则整个画笔将镜像)。如果没有选定要绘制的图块,但在某个层上选择了一组图块,则镜像工具将镜像选定的图块。
Rotate Tool IconRotate使用鼠标左键LMB Icon单击旋转工具(或使用键盘快捷键"Z")将当前选定用于绘制的图块顺时针旋转90°,而不会更改绘制工具(如果您选择了用于绘制的自定义画笔,则整个画笔将旋转)。如果没有选定要绘制的图块,但在某个层上选择了一组图块,则旋转工具将旋转选定的图块。

注意 如果您使用选择工具Sekection Tool Icon在房间编辑器画布中选择一组瓷砖,然后剪切或复制它们,它们将暂时成为当前绘画画笔。

 

Path Layer Icon路径路径

您可以通过单击Path Layer Icon按钮来添加新的路径层。这将添加新层,然后打开路径属性窗口:

Room Layer Path properties在此处,您可以从资源浏览器中选择要用于层的路径,然后更改定义的连接类型(使用平滑插值法或直线),以及它是否闭合以及创建路径的精度。还请注意,您可以在此处切换继承,并且可以将路径设置为特定的颜色(默认为红色),以便在编辑器中更好地看到它们。如果您尚未定义路径资源,则可以单击新建按钮来创建路径资源。路径层也有一个与其关联的深度值(默认情况下锁定),即使在使用它们时游戏中实际上没有任何东西被渲染

值得注意的是,您还可以通过单击鼠标左键LMB Icon向路径添加点,以及使用鼠标右键RMB Icon删除点,或者通过单击并拖动点来选择点,所有这些都在实际的房间编辑器内,使创建和编辑路径非常容易(尽管你仍然可以在路径编辑器中正常编辑路径)。如果在不同的路径点上按住Control Icon/CMD Icon+LMB Icon,然后它们都将被选中,您可以将它们移动到一起或从菜单选项中删除它们(如下解释)。

如果您在操作路径时右键单击"房间编辑器"窗口中的RMB Icon,则将获得以下选项:

Room Layer Path Menu在这里,您可以反转路径方向(这几乎没有什么可见的效果,但颠倒了计算路径点的顺序,使起点成为终点,反之亦然),以及水平或垂直翻转它们。您还可以从此菜单中删除选定点。请注意,您可以按住"T"、"S"或"R",然后单击LMB Icon 并拖动以平移、缩放或旋转整个路径。

 

Asset Layer Icon资源资源

您可以通过单击Asset Layer Icon按钮来添加新的资源层。这将添加新层,然后打开资源层属性窗口:

Room Layer Asset properties资源层包含独立于实例放置到房间中的图形资源(精灵、序列和粒子系统),您可以通过将它们从资源浏览器拖入其中,或通过在资源浏览器中选择所需资源,然后使用 Alt Icon+LMB Icon 对其进行绘制来放置它们。精灵资源类似于图块,只是它们可以完全动画-如果使用的精灵有子图像,它们将被显示-没有图块的限制,即:它们不会强制到网格,动画可以是任何长度和速度。序列是当进入房间时将播放的精灵、声音和实例的"集合"。粒子系统包含发射器,这些发射器根据预定义的公式发射粒子,从而生成动画。

将资源放置在资源层上时,它们将捕捉到在房间编辑器顶部为网格设置的网格捕捉值,但如果您想要徒手放置它们,只需关闭网格或使用键Control Icon/CMD Icon和鼠标左键LMB Icon。在按住这些键的同时,您可以自由地将资源放置在任何位置,而不会捕捉到栅格分辨率。

将资源放入房间后,您可以通过在其上双击LMB Icon以打开资源属性窗口来对其外观进行一定程度的控制:

Room Asset properties您可以在此处为资源指定唯一的名称,设置它是否继承自父房间,或更改您希望其显示的精灵、序列或粒子系统。对于序列,您可以设置动画速度和初始播放头帧,以及要与其混合的颜色(默认情况下为白色)以及在房间中的位置。您还可以更改精灵资源的特征,将其设置为与之混合的颜色(默认情况下为白色),或旋转和翻转。您还可以沿其中一个或两个轴缩放精灵,并设置它们在房间内的位置。如果精灵有子图像,您可以选择动画速度以及设置要显示的初始帧。最后,对于粒子系统,还可以设置整个粒子系统的混合颜色和旋转。

值得注意的是,在制作游戏时,层上的每个资源都会被自动标记为要导出。但是,尤其是在处理继承时,您可能不希望在最终游戏中将特定资源添加到房间中。如果是这种情况,则只需取消选中层属性列表中资源左侧的"导出"复选框即可阻止其作为可执行文件的一部分导出。但是,重要的是要注意,如果您有任何引用该资源的代码,则游戏将无法正确运行,因此请谨慎使用此功能。

滤镜/效果滤镜/效果

您可以通过单击 按钮添加新的滤镜/效果层。这将添加新层,然后打开资源层属性窗口:

滤镜/效果(或FX)层用于将视觉滤镜或效果应用于某些层。添加一个FX层并从"效果类型"下拉菜单中选择一种效果会将该效果应用于所选FX层以下的所有层,如下图所示:

这意味着所有"受影响"的层都将应用选定的滤镜(这里是"去饱和化"),因为它们位于FX层之下。FX层上方的任何层都将保持不受影响。

您可以使用检查器创建单层FX。

要了解有关滤镜/效果层的更多信息,请阅读滤镜和效果

 

滤镜/效果

检查器中显示的层属性中,可以将滤镜或效果应用于选定的层。这将作为"单层"效果应用,即其效果将仅应用于该特定层,而不会应用于其下的其他层。