0

如何将一个Vec2实例移向另一个Vec2. 比方说,将它移动到两个位置之间的一半。我正在寻找与 Unity 引擎方法等效的方法(最好是内置方法)Vector2.MoveTowards

4

1 回答 1

0

这取决于这些向量代表什么。

vector2 可以表示二维空间中的一个点或具有定义方向和大小的线。

在第一种情况下,您可以将一个点 (pointA) 移向另一个 (pointB),找到它们之间的向量并将其添加到第一个点。

Vector2 l_DiffVector = pointB - pointA;

Vector2 result = pointA + l_DiffVector/2f;

请注意,我将 l_DiffVector 除以 2,因此结果将是 pointA 和 pointB 中间的一个点。

在 Vector2 表示方向的第二种情况下,将一个方向移向另一个方向是没有意义的,因为它们不表示空间中的位置。

我希望它足够清楚。仅用文字很难说清楚。如果您有任何疑问,请再次询问!

祝你好运!

于 2020-07-07T12:12:25.923 回答