15

在这个很棒的网页上,我找到了一个缓动算法列表,可以为我的网页添加漂亮的视觉吸引力。

尽管如此,我发现那里简要提到了函数参数(见下文),但该算法的行为并不如我所愿。能否请我解释一下应该在下面提到的函数的参数中输入哪些值/范围?

参数列表:

  • 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 位置?

4

1 回答 1

15

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

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

  • 因为t = 0我们有c*(-1 + 1) + bb
  • 因为t = d我们有c*(0 + 1) + bb + c

任何 fps 的功能都是相同的,取决于您更新位置和调用该功能的频率。

于 2012-04-16T09:59:34.120 回答