instance_activate_region

使用此函数,您可以在房间内定义一个区域,以激活先前已停用的实例。此区域可以标记为"内部"或"外部",如下图所示:

Instance activate region example在上图中可以看到,"apple"实例始终处于活动状态,因为即使sprite本身不与区域重叠,边界框也是如此。因此,当实例的边界框与其重叠时,实例被视为在指定区域内,并且不考虑碰撞掩码(精确与否)的状态。请注意,激活不是瞬时的,在调用函数的事件结束之前,以这种方式激活的实例将被视为处于活动状态。

 

语法:

instance_activate_region(left, top, width, height, inside);

参数类型描述
leftReal要激活的矩形区域左侧的X坐标。
topReal要激活的矩形区域顶部的Y坐标。
widthReal要激活的区域的宽度。
heightReal要激活的区域的高度。
insideBoolean是激活区域内部(True)还是外部(False)的实例。

 

返回:

N/A

 

例子:

instance_deactivate_all(true);
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);

上面的代码取消激活除运行代码的实例之外的所有实例,然后激活房间内的区域。