我生命中发现的大多数缓动函数集都有复杂的函数签名,例如jQuery:function easing (x, t, b, c, d) { ... }
。例子:
为什么需要所有这些参数?如果在http://easings.net/上以标准化的比例显示这些功能,那将更容易实现
并使用以下函数将这些包装用于arbirtrary开始/结束时间和值:
function wrapEasing(fn, startTime, endTime, now, startValue, endValue) {
var progress = (now - startTime) / (endTime - startTime);
var easedProgress = fn(progress);
return startValue + easedProgress * (endValue - startValue);
}
(这是一个数学问题,我使用javascript语法作为例子 - 它适用于所有编程语言。)
是的,我也找到了其他例子:
问题是 - 为什么许多人以复杂的方式做到这一点?也许是因为那需要函数式编程?