instance_create_depth


描述

使用此函数,你可以在房间内的任何给定点和指定的深度处创建指定物体的新实例。深度可以是任何值,其中深度越低,相机的 “更近处” 将被绘制,越深则越远,因此( 例如)深度为 -200 的实例将在深度为 +300 的实例上绘制。注意,这个函数会为实例创建一个房间层,因为所有的实例都 必须 在房间里的一层,但由于这是 托管的(managed) 层(即:是 GameMaker Studio 2 自动创建的,而不是你通过代码或在房间里创建的)你不能访问它,而 实例变量将返回 1。

重要! 最小和最大层深度为 -16000 到 16000。尽管所有事件仍将正常运行,但 不会绘制 放在该范围之外的层上的任何内容。

此函数返回新实例的 id,然后可以将其存储在变量中或用于访问该实例。请注意,此函数还将在继续调用该函数的事件的代码或操作 之前 调用正在创建的实例的创建事件。


语法:

instance_create_depth(x, y, depth, obj);


参数:

参数 描述
x 创建物体的 x 位置
y 创建物体的 y 位置
depth 分配创建的实例的深度
obj 创建实例的物体的物体索引


返回:

Real (instance ID value)(实数,实例 id 值)


例如:

var inst;
inst = instance_create_depth(x, y, -10000, obj_Bullet);
with (inst)
   {
   speed = other.shoot_speed;
   direction = other.image_angle;
   }

上面的代码创建了一个物体 “obj_Bullet” 的新实例,并将实例 id 存储在一个变量中。然后使用该变量将 速度方向 分配给新实例。