资源描述:
《ae位移减速表达式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、// Ease and Wizz 2.0 : outExpo : First two keyframes only// Ian Haigh (http://ianhaigh.com/easeandwizz/)// Last built: 2009-01-08T11:11:54+11:00// some defaultsvar p = 0.8;// period for elasticvar a = 50;// amplitude for elasticvar s = 1.70158;// overshoot amount for "back"function outExpo(t,
2、 b, c, d, a, p) {return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;}function easeAndWizz() {try {var key1 = key(1);var key2 = key(2);} catch(e) {return null;}// determine how many dimensions the keyframes needvar dim = 1; // It's gotta have at least ONE dimensiontry {key(1)[1];dim =
3、 2;key(1)[2];dim = 3;} catch(e) {}t = time - key1.time;d = key2.time - key1.time;sX = key1[0];eX = key2[0] - key1[0];if (dim >= 2) {sY = key1[1];eY = key2[1] - key1[1];if (dim >= 3) {sZ = key1[2];eZ = key2[2] - key1[2];}}if ((time < key1.time)
4、
5、 (time > key2.time)) {return value;} else {val1
6、 = outExpo(t, sX, eX, d, a, p, s);switch (dim) {case 1: return val1; break;case 2: val2 = outExpo(t, sY, eY, d, a, p, s); return [val1, val2]; break;case 3: val2 = outExpo(t, sY, eY, d, a, p, s); val3 = outExpo(t, sZ, eZ, d, a, p, s); return [val1, val2, val3];
7、 break;default: return null;}}}(easeAndWizz()
8、
9、 value);