instance_deactivate_layer


语法:

instance_deactivate_layer(obj);


参数 描述
layer 要使用的层 ID 字符串(或值)


返回: N/A(无返回值)


描述

使用此函数,你可以冻结分配给特定层的所有实例。你需要提供 层 ID(layer ID),它既可以是代码编辑器中编写的层名(作为字符串),也可以是 layer_create 返回的实际层 ID 值,并且请注意,使用此函数只能冻结 实例 层。注意,如果你已经停用了一个层,该层的物体实例被标记为 保持(Persistent),那么你需要在更换房间之前使用 instance_activate_layer 再次激活该层,否则该层上的任何保持实例都 不会 被转移并丢弃。

注意: 如果你冻结房间开始上的实例(即:从房间创建代码,或从房间内实例的实例创建事件),从房间编辑器放置在房间内的所有实例 在冻结前 仍将运行其创建事件。

警告:冻结已启用物理的实例将 不会 停止其支架(fixture)在物理仿真中的交互。为此,在激活 / 冻结实例时,应该将其 phy_active 变量设置为 truefalse


例如:

instance_deactivate_layer("Enemy Layer");
var _vx = camera_get_view_x(view_camera[0]);
var _vy = camera_get_view_y(view_camera[0]);
var _vw = camera_get_view_width(view_camera[0]);
var _vh = camera_get_view_height(view_camera[0]);
instance_activate_region(_vx - 64, _vy - 64, _vw + 128, _vh + 128, false);

上面的代码使分配给 “Enemy_Layer” 层的所有实例冻结,然后激活房间内的一个区域。