此函数可用于更改给定层的 深度 ,从而更改其内容在屏幕上的渲染顺序。您提供图层 ID(在使用 layer_create 创建图层时获得) 或图层名称 (作为字符串 - 这会对性能产生影响),然后给出新的深度来设置它至 (从 -16000 到 16000 的整数值)。图层深度定义为距离相机 " 较远 " 时深度较高,距离相机 " 较近 " 时深度较低,因此如果您有深度为 -100、0、100 的三个图层,则图层将以 100 的顺序绘制, 0、-100,因此 " 顶部 " 图层 (即最接近相机视图,因此绘制在其他所有图层之上) 将是深度为 -100 的图层。
下图显示了层的深度工作原理示意图:
请注意,您可以随时使用函数 layer_get_depth 检查图层的深度。另请注意,最小和最大层深度为 -16000 到 16000,这些深度之外的任何内容都 不会被渲染 。如果您需要的深度超出该范围,则需要使用函数 layer_force_draw_depth。
注意 深度值是近似值。如果您尝试以接近最大深度和最小深度的深度值绘制事物,则可能会由于计算引入的不准确性而无法绘制它们。
请记住,修改图层的深度可能会更改对其应用的 滤镜和效果 ,因为将深度更改为低于 FX 图层的深度将不再将其效果应用于该图层。
layer_depth(layer_id, depth)
参数 | 类型 | 描述 |
---|---|---|
layer_id | String or Layer | 层的唯一ID值,用于设置的深度(或层名称为字符串) |
depth | Real | 该层的新深度 |
N/A
if (layer_get_depth(layer) != -100)
{
layer_depth(layer, -100);
}
上面的代码获取运行代码的实例所在的层的深度,如果它不是-100,则深度被设置为-100。