XNA -接近两个物体

本文关键字:两个 接近 XNA | 更新日期: 2023-09-27 17:50:22

又给你一个Q。我有两个已知x和y坐标的对象,我想让第二个对象接近第一个对象,直到它距离300像素。我该怎么做呢?

我试过了:

double a = this.Position.Y - p.Position.Y;
        double b = p.Position.X - this.Position.X;
        double c = Math.Sqrt(Math.Pow(a, 2) + Math.Pow(b, 2));
        float rotation = (float)Math.Atan(a / b);
        this.Rotation = rotation;
        if (c < 300) return;
        Position += new Vector2(-(float)Math.Cos(Rotation), -(float)Math.Sin(Rotation)) * Speed;

但它似乎没有工作。有人能帮忙吗?

XNA -接近两个物体

距离比较:

bool inRange = (Vector2.Distance(this, p) <= 300);

可以替换代码的前3行。现在只需做如下操作:

if (inRange)
{
    // Move closer.
}
else
{
    // Flank, begin following, spontaneously combust, slap lightly and repeatedly you name it.
}

希望有帮助!