可以实时查看插值器的曲线图: http://inloop.github.io/interpolator/
这个是谷歌的震动插值器
BounceInterpolator
//Use javascript syntax to create complex equations
function bounce(t) { return t*t*8; }
if (x < 0.3535)
bounce(x)
else if (x < 0.7408)
bounce(x - 0.54719) + 0.7
else if (x < 0.9644)
bounce(x - 0.8526) + 0.9
else
bounce(x - 1.0435) + 0.95
使用自己的插值器,只需要修改曲线图上的坐标,按照对称的t*t*8的曲线图绘制,就形成了自己的插值器。
因为t*t*8是两边对称的,所以用中学的知识,就能实现回弹多次的效果。
以下是震动多次的实例:
function bounce(t) { return t*t*8; }
function bounce2(t) {return t*t*42.95417;}
function bounce3(t) {
return t*t*26.326033;}
function bounce9(t) {
return t*t *25.925938;}
function bounce11(t) {
return t*t *36.111107;}
if (x < 0.3535)
bounce(x)
else if (x < 0.54649997)
bounce2(x - 0.45) + 0.6
else if (x < 0.76)
bounce3(x - 0.65325) + 0.7
else if (x < 0.94)
bounce9(x - 0.85) + 0.79
else
bounce11(x - 1) + 0.87