在椭圆路径中移动对象

时间:2015-05-16 13:00:36

标签: libgdx tween

在我的基于LigGdx的游戏中,我希望将我的Sprite移动到椭圆形路径以到达目的地。我在Universal Tween引擎中找不到任何支持。路线示例的示例如下所示。

enter image description here

问题:

  1. UniversalTween Engine中是否有任何方法可以使用椭圆路径?

  2. 还让我知道UniversalTween Engine中的航点是什么?

  3. 提前致谢!

2 个答案:

答案 0 :(得分:4)

Universal Tween Engine现在支持曲线 - 默认是CatmullRom,它肯定能够提供你想要的平滑运动。

一开始你的头脑有点棘手,但是一旦你习惯它就没那么糟糕。

Universal Tween Engine

Details of update that added curves

答案 1 :(得分:0)

我已经为你搜索了这个问题,并发现很多人已经问过这个问题了,但是他们都没有得到答案。所以我会尽力回答。我相信我的方法不是最好的。但是,如果您的应用程序不是时间或性能敏感的,那么这种方法可能会有效。

现在这就出现了数学问题。你知道屏幕是用像素制作的,没有必要让它过于细致,因为它是不可能的。所以你可以这样做:

enter image description here

它们的灰线是您想要的线条,绿线是您实际绘制的线条。如果沿着绿色路径使用补间引擎移动对象,并在碰到红色点时切换路径。你可以模仿椭圆运动。但是,您需要使用数学并计算路径。您可以将路径的坐标设置为每个屏幕大小的常量,或者您可以每次计算它。

总体而言,您计算的点数越多,运动的椭圆度就越大。

无论如何,如果您查看this网站,它会教您如何补间。 您可以使用Tween.to(...);来帮助您补间。

希望这有助于你