point_distance_3d

这个函数获取向量的分量,并返回向量的长度(距离)。它的工作方式与 point_ range ()完全相同,但是添加了在3D 空间中使用的 z 值(深度)。

 

语法:

point_distance_3d(x1, y1, z1, x2, y2, z2);

参数类型描述
x1Real向量第一个分量的 x 坐标
y1Real向量第一个分量的 y 坐标
z1Real向量第一个分量的 z 坐标
x2Real向量的第二个分量的 x 坐标
y2Real向量的第二个分量的 y 坐标
z2Real向量的第二个分量的 z 坐标

 

返回:

Real

 

例子:

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”实例。