如何使用从A到B的曲线类创建矢量列表?

时间:2019-06-02 23:45:44

标签: vb.net monogame curve

我正在尝试为对象移动创建路径。

我希望路径使用一条曲线,该曲线从起点(A)开始向上,然后下降至底部(B)。

喜欢这个:

Travel Path

我研究了创建弯曲路径的不同方法,它们都使用Spritebatch创建曲线或不使用Curve类。我需要并行创建许多曲线,以供许多不同的精灵使用各自的曲线。

因此,我查看了Microsoft.Xna.Framework.Curve类,但是找不到正确使用它的任何好资源。

Curve类使用CurveKey作为其点,但是由于将键定义为单个数值而不是XY坐标,因此尚不清楚如何将键转换为Vector2D。

我想要一个Sprite随Curve一起旅行所需的所有点的SortedList,我可以将其与Vector2D类一起使用,但是我还是不太了解如何使用Curve类{{3} }。 它谈论的是,如果您想要更多尺寸,则可以使用多个Curve对象,但是那里没有示例。

and the documentation is rather confusing和对它的支持似乎已经死了。

如果有人可以告诉我如何使用Curve类制作曲线,并使用Vector2D将其转换为坐标,那将是一个很好的起点。

1 个答案:

答案 0 :(得分:0)

Vector2类的静态方法定义为:

public static Vector2 Hermite(Vector2 value1, Vector2 tangent1, Vector2 value2, Vector2 tangent2, float amount)

这类似于lerp,其数量是0到1之间的数字。