【问题标题】:Moving an object in elliptical Path在椭圆路径中移动对象
【发布时间】:2015-07-28 08:23:44
【问题描述】:

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

问题:

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

  2. 还请告诉我 UniversalTween 引擎中的航点是什么?

提前致谢!

【问题讨论】:

标签: libgdx tween


【解决方案1】:

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

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

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

总的来说,你计算的点越多,运动就越椭圆。

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

希望对你有帮助

【讨论】:

    【解决方案2】:

    Universal Tween Engine 现在支持曲线 - 默认为 CatmullRom,它绝对能够提供您想要的平滑运动。

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

    Universal Tween Engine

    Details of update that added curves

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      • 1970-01-01
      • 2014-01-14
      • 1970-01-01
      相关资源
      最近更新 更多