在椭圆路径中移动对象
Moving an object in elliptical Path
在我的基于 LigGdx 的游戏中,我希望我的 Sprite 沿椭圆路径移动以到达目的地。我在通用补间引擎中找不到任何支持。路线示例示例如下所示。
问题:
UniversalTween Engine中有没有椭圆路径的方法?
另外让我知道 UniversalTween 引擎中的 waypoints 是什么?
提前致谢!
好吧,我已经为您搜索了这个问题,发现您已经有很多人问过这个问题,并且 none 的人已经得到了答案。所以我会尽力回答。我相信我的方法不是最好的。但如果您的应用程序对时间或性能不敏感,那么此方法可能有效。
现在来到一道数学题。你知道屏幕是由像素组成的,没有必要让它过于详细,因为这是不可能的。所以你可以这样做:
灰线是你想要的线,绿线是你实际画的线。如果您使用补间引擎沿绿色路径移动对象并在点击红点时切换路径。你可以模仿椭圆运动。但是,您需要使用数学并计算您的路径。您可以将您的路径坐标设置为每个屏幕尺寸的常量,或者您可以每次都计算它。
总的来说,您计算的点数越多,运动的椭圆度就越大。
无论如何,如果您查看 this 网站,它会教您如何补间。
您可以使用 Tween.to(...);
来帮助您补间点。
希望对您有所帮助
通用补间引擎现在支持曲线 - 默认为 CatmullRom,它绝对能够提供您想要的平滑运动。
一开始有点难以理解,但一旦习惯了就不那么糟糕了。
在我的基于 LigGdx 的游戏中,我希望我的 Sprite 沿椭圆路径移动以到达目的地。我在通用补间引擎中找不到任何支持。路线示例示例如下所示。
问题:
UniversalTween Engine中有没有椭圆路径的方法?
另外让我知道 UniversalTween 引擎中的 waypoints 是什么?
提前致谢!
好吧,我已经为您搜索了这个问题,发现您已经有很多人问过这个问题,并且 none 的人已经得到了答案。所以我会尽力回答。我相信我的方法不是最好的。但如果您的应用程序对时间或性能不敏感,那么此方法可能有效。
现在来到一道数学题。你知道屏幕是由像素组成的,没有必要让它过于详细,因为这是不可能的。所以你可以这样做:
灰线是你想要的线,绿线是你实际画的线。如果您使用补间引擎沿绿色路径移动对象并在点击红点时切换路径。你可以模仿椭圆运动。但是,您需要使用数学并计算您的路径。您可以将您的路径坐标设置为每个屏幕尺寸的常量,或者您可以每次都计算它。
总的来说,您计算的点数越多,运动的椭圆度就越大。
无论如何,如果您查看 this 网站,它会教您如何补间。
您可以使用 Tween.to(...);
来帮助您补间点。
希望对您有所帮助
通用补间引擎现在支持曲线 - 默认为 CatmullRom,它绝对能够提供您想要的平滑运动。
一开始有点难以理解,但一旦习惯了就不那么糟糕了。