layer_create

该函数用于在当前房间内创建一个新图层。您提供新层要占据的深度,函数返回唯一的层 ID 句柄,然后可以使用该句柄在其他函数中访问该层。您还可以提供一个可选的 " 名称 " 参数,这将使您能够为图层指定一个特定名称 (作为字符串),并且您可以使用此名称字符串来代替使用图层 ID 来访问图层,尽管它应该注意的是,使用名称字符串比仅使用 ID 值对性能的影响更大。如果您不指定图层名称,则将为创建的图层分配一个格式为 "_layer_XXX" 的名称,其中 "XXX" 是一个十六进制值,用于为图层指定唯一名称。

当给出深度值时,该深度值将越高"离相机越远"该层,越低"离相机越近"该层,因此,如果您有三个具有深度(100、0、100)的层,这些层将按100、0、- 100的顺序绘制,因此"顶部"层(即最接近相机视图的层,因此在其它所有地方绘制)将是具有-100深度的层。

下图显示了深度如何作用于层的示意图:

Layer depth example 值得注意的是,虽然您 可以 将多个层分配给单个深度,但 您无法保证相同深度上的层将以任何给定顺序绘制 并且因此,最好只为任何给定深度分配一层。另请注意,最小和最大层深度为 -1600016000,这些深度之外的任何内容都 不会被渲染 。如果您需要的深度超出该范围,则需要使用函数 layer_force_draw_depth()

 

语法:

layer_create(depth, [name])

参数类型描述
depthReal必须创建层的深度。
nameString可选层的名称(字符串)。

 

返回:

Layer

 

例子:

global.Bullet_Layer = layer_create(-100);

上面的代码将创建一个深度值为-100的新层,并将其ID值分配给一个全局变量。