0

在游戏中,我有一个特定的对象和该对象将移动的两个位置。我已经有了在特定时间计算当前位置的功能。

它是这样工作的:

输入 0 会将对象移动到位置 1。

输入 1 会将对象移动到位置 2。

输入 0.5 将在两个位置的中间移动对象。

ETC...

(在下面的示例中,时间从 0 到 1 变化)当我想缓慢启动对象并在快速移动时停止它,我使用:

MoveObject(sin(time * 90))

当我想快速启动对象并在它变慢时停止它,我使用:

MoveObject(1 - cos(time * 90))

没有效果,它是:

MoveObject(time)

如何使对象开始缓慢移动,在两个位置的中心快速移动,然后在到达第二个位置时变慢?

4

1 回答 1

0

这将是:

MoveObject((time) * (time) * (3 - 2 * (time)))

sol.gfxile.net/interpolation

于 2013-03-30T19:29:09.850 回答