鼠标跟随器缓入/缓出
Posted
技术标签:
【中文标题】鼠标跟随器缓入/缓出【英文标题】:Mouse follower easing in/out 【发布时间】:2011-12-13 20:53:44 【问题描述】:那里有很多鼠标跟随器教程。他们中的大多数都有一个简单的公式来缓和运动:
x += (tx - x) / interp;
y += (ty - y) / interp;
(tx = 目标位置,x = 实际位置,interp > 1)
这使得跟随者一开始走得很快,然后慢慢减速到目标位置。
如何更改公式,以便我可以定义自定义加速度、自定义减速度和最大速度之间的运动?一开始我会很高兴有一个额外的加速。
谢谢!
汉斯
【问题讨论】:
【参考方案1】:加速度是速度随时间的变化。所以在一维空间中,要应用一个恒定的速度,你会这样做:
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
...
【讨论】:
以上是关于鼠标跟随器缓入/缓出的主要内容,如果未能解决你的问题,请参考以下文章