在椭圆路径中移动对象

Moving an object in elliptical Path

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

问题:

  1. UniversalTween Engine中有没有椭圆路径的方法?

  2. 另外让我知道 UniversalTween 引擎中的 waypoints 是什么?

提前致谢!

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

现在来到一道数学题。你知道屏幕是由像素组成的,没有必要让它过于详细,因为这是不可能的。所以你可以这样做:

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

总的来说,您计算的点数越多,运动的椭圆度就越大。

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

希望对您有所帮助

通用补间引擎现在支持曲线 - 默认为 CatmullRom,它绝对能够提供您想要的平滑运动。

一开始有点难以理解,但一旦习惯了就不那么糟糕了。

Universal Tween Engine

Details of update that added curves