指数缓动给人的感觉是加速度很大. 它的原始公式来自:p(t) = math.pow(2, 10*(t-1)); 与其他缓动一样,我在这里就直接给出其核心代码了: 指数缓动 protected override do ble getc rrentval ecore(do ble defa ltoriginval e, do ble defa ltdestinationval e, animationclock animationclock) { do ble from = (this.from==n ll?defa ltdestinationval e:(do ble)this.from); do ble to = (==n ll?defa ltoriginval e:(do ble)); do ble delta = to - from; do ble val e = animationclock.c rrentprogress.val e; 加速 ret rn delta * math.pow(2, 10 * (val e - 1)) from; 减速 ret rn delta * (-math.pow(2, -10 * val e) 1) from; 先加速,后减速 do ble t = val e * this.d ration.timespan.ticks; do ble d = this.d ration.timespan.ticks; if ((t=(d2))  1) { ret rn delta  2 * math.pow(2, 10 * (t - 1)) from; } ret rn delta  2 * (-math.pow(2, -10 * --t) 2) from;