如何将一个Vec2
实例移向另一个Vec2
. 比方说,将它移动到两个位置之间的一半。我正在寻找与 Unity 引擎方法等效的方法(最好是内置方法)Vector2.MoveTowards
。
问问题
268 次
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 回答