鼠标追随者缓入/退出

时间:2011-12-13 20:53:45

标签: mouse easing acceleration

有很多鼠标追随者教程。他们中的大多数都有一个简单的公式来缓和运动:

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

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

这使得跟随者在开始时非常快,然后缓慢减速到目标位置。

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

谢谢!

汉斯

1 个答案:

答案 0 :(得分:0)

加速度是速度随时间的变化。所以在1D中,要应用恒定速度,你需要:

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

其中:

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

除了a现在是负数之外,你会做一些类似的减速操作。

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

v = MIN(v_max, v);

其中v_max是您允许的最大速度(常数)。

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

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

我会留给你来计算theta ...