缓解立方 - 函数参数解释

时间:2012-04-16 09:53:22

标签: javascript algorithm math animation

在这个伟大的web page上,我找到了一个缓动算法列表,可以为我的网页增添不错的视觉吸引力。

尽管如此,我发现在那里简要提到了函数参数(见下文),算法的行为并不像我希望的那样。我可以请求解释在下面提到的函数的参数中应该输入什么值/范围?

参数列表:

  • t:当前时间 - 这里应该是值0 ... 1还是当前帧的实数?
  • b:起始值 - 我假设,正在移动的对象的起始X或Y坐标
  • c:价值变动 - 这里所有的框架都可以是数字1吗?
  • d:持续时间 - 共有帧数?

Math.easeOutCubic = function (t, b, c, d) { t /= d; t--; return c*(t*t*t + 1) + b; };

是否应将值逐步添加到从函数获得的最后一个值,还是应将它们添加到初始0位置?

1 个答案:

答案 0 :(得分:15)

你是对的,d是持续时间,t是当前时间。因此,t应该是0d

c是一个总变化,应该等于end value - start value

  • 对于t = 0,我们有c*(-1 + 1) + bb
  • 对于t = d,我们有c*(0 + 1) + bb + c

任何fps的功能都是一样的,由你来更新位置和调用函数的频率取决于你。