layer_depth

此函数可用于更改给定层的 深度 ,从而更改其内容在屏幕上的渲染顺序。您提供图层 ID(在使用 layer_create 创建图层时获得) 或图层名称 (作为字符串 - 这会对性能产生影响),然后给出新的深度来设置它至 (从 -1600016000 的整数值)。图层深度定义为距离相机 " 较远 " 时深度较高,距离相机 " 较近 " 时深度较低,因此如果您有深度为 -100、0、100 的三个图层,则图层将以 100 的顺序绘制, 0、-100,因此 " 顶部 " 图层 (即最接近相机视图,因此绘制在其他所有图层之上) 将是深度为 -100 的图层。

下图显示了层的深度工作原理示意图:

Layer depth example 请注意,您可以随时使用函数 layer_get_depth 检查图层的深度。另请注意,最小和最大层深度为 -1600016000,这些深度之外的任何内容都 不会被渲染 。如果您需要的深度超出该范围,则需要使用函数 layer_force_draw_depth

注意 深度值是近似值。如果您尝试以接近最大深度和最小深度的深度值绘制事物,则可能会由于计算引入的不准确性而无法绘制它们。

请记住,修改图层的深度可能会更改对其应用的 滤镜和效果 ,因为将深度更改为低于 FX 图层的深度将不再将其效果应用于该图层。

 

语法:

layer_depth(layer_id, depth)

参数类型描述
layer_idString or Layer层的唯一ID值,用于设置的深度(或层名称为字符串)
depthReal该层的新深度

 

返回:

N/A

 

例子:

if (layer_get_depth(layer) != -100)
{
    layer_depth(layer, -100);
}

上面的代码获取运行代码的实例所在的层的深度,如果它不是-100,则深度被设置为-100。