0

那里有很多mousefollower教程。它们中的大多数都有一个简单的公式来缓和运动:

x += (tx - x) / interp;
y += (ty - y) / interp;

(tx = 目标位置,x = 实际位置,interp > 1)

这使得跟随者一开始走得很快,然后慢慢减速到目标位置。

我如何更改公式,以便我可以定义自定义加速度、自定义减速度和最大速度之间的运动?一开始我会对增加的加速度感到满意。

谢谢!

汉斯

4

1 回答 1

0

加速度是速度随时间的变化。因此,在一维空间中,要应用恒定速度,您可以:

v += a * dt;
x += v * dt;

在哪里:

  • a是加速度(常数)
  • v是速度
  • x是 x 位置
  • dt是时间步长,即更新之间的时间

你会为减速做类似的事情,除了a现在是负面的。

要设置最大速度,您只需要对 进行条件检查v,也许:

v = MIN(v_max, v);

v_max你的最大允许速度在哪里(一个常数)。

在 2D 中,您需要考虑行进方向:

x += v * cos(theta);
y += v * sin(theta);

我留给你计算theta...

于 2011-12-13T20:57:40.910 回答