这个函数获取向量的分量,并返回向量的长度(距离)。它的工作方式与 point_ range ()完全相同,但是添加了在3D 空间中使用的 z 值(深度)。
point_distance_3d(x1, y1, z1, x2, y2, z2);
参数 | 类型 | 描述 |
---|---|---|
x1 | Real | 向量第一个分量的 x 坐标 |
y1 | Real | 向量第一个分量的 y 坐标 |
z1 | Real | 向量第一个分量的 z 坐标 |
x2 | Real | 向量的第二个分量的 x 坐标 |
y2 | Real | 向量的第二个分量的 y 坐标 |
z2 | Real | 向量的第二个分量的 z 坐标 |
var inst, ex, ey, ez;
inst = instance_nearest(x, y, enemy);
if (instance_exists(inst))
{
ex = inst.x;
ey = inst.y;
ez = inst.z;
if (point_distance_3d(x, y, z, ex, ey, ez) < 200)
{
instance_create_layer(x, y, "Bullets", obj_Missile)
}
}
以上代码将获得最近敌人的x、y和z坐标,然后使用它们检查由它们和玩家坐标组成的向量的距离(长度)。如果该值小于200,玩家对象将创建一个“obj_Missile”实例。