缓解立方 - 函数参数解释
在这个伟大的web page我找到了一个缓动算法的列表,可以给我的网页添加很好的视觉吸引力。尽管如此,我发现了函数参数的简要提及(参见下文),算法并不像我所希望的那样工作。我可以请求解释什么值/范围应该被输入到下面提到的函数的参数中?缓解立方 - 函数参数解释
参数列表:
- T:当前时间 - 在这里应该值0〜1,或者当前帧的实数?
- B:起始值 - I假设,开始X或Y的对象的坐标被移动
- C:变化值 - 可以在这里是1号的所有对所有帧的时间?
- d:持续时间 - 总数的帧数?
Math.easeOutCubic = function (t, b, c, d) {
t /= d;
t--;
return c*(t*t*t + 1) + b;
};
应的值来递增地添加到从所述函数而获得的最后一个值,或者它们应该被添加到所述初始位置0?
您是对的,d
为持续时间,t
为当前时间。因此,t
应该从0
到d
。
c
是一个总的变化,应该等于end value
- start value
。
- 为
t = 0
,我们有c*(-1 + 1) + b
或b
- 对于
t = d
我们c*(0 + 1) + b
或b + c
功能可以给任何FPS一样,这取决于你如何经常更新的位置和调用函数。
+1,您好,感谢您的重新申请。当我回家时,我会尝试使用新的信息的公式。 ** b(起始值)也可以是一个负数吗?**说,如果我想将物体从屏幕外移出,即从-50y到250y。我不知道这个公式是否也会以这种方式工作。 – 2012-04-16 10:09:25
是的。只有当你将't'从0改为某个负值时,它才会按照预期的方式工作。 – kirilloid 2012-04-16 10:11:22
我可以证实,在正确理解函数参数后,2d对象的行为就像他们真正应该轻松实现的一样。因此,我将您的答案确定为*接受答复*。 – 2012-04-16 20:53:30
此链接非常详细地解释了我的问题:http://upshots.org/actionscript/jsas-understanding-easing – 2012-05-04 09:21:42