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;
但它似乎没有工作。有人能帮忙吗?
距离比较:
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.
}
希望有帮助!