线性 liner(),平滑 ease,缓入ease_in ,缓出ease_out
结构:linear(t, t_min,t_max, value1, value2)
ease(t, t_min, t_max, value1, value2)
ease_in(...);ease_out(..)
t:目标参数(该参数必须是一维的)。例如想让位移来控制旋转,则表达式应该写在旋转的属性上(当前参数),位移属性就是目标参数
t_min:目标参数范围的下限(如果不填,默认0),可填或不填。
t_max:目标参数范围的上限(如果不填,默认1)
value1:当前参数范围下限,当目标参数到达t_min时,表达式返回该值(value1)
value2:当前参数范围上限,当目标参数到达t_max时,表达式返回该值(value2)
举例:linear(time,0,5,0,360);//通过时间来控制旋转,在5秒内旋转360°的线性变化
linear:得知整个变化过程是线性的
目标参数:时间(时间的变化范围是0到5)
当前参数:旋转(旋转的变化范围是0°到360°)
如果将该表达式应用到某个图层的旋转属性上,那么该图层会在5秒内完成一周的旋转,且图层在第五秒停止旋转
当然你可能会想,为什么要那么麻烦,直接time/5*360不就可以了?
但是,如果你想在5秒后停止旋转,不还得写个判断语句才可以,反而复杂化了。
这就是为什么用插值算法的原因,而且还可以使用ease等算法,让动作得到更流畅的变化效果,仅仅使用前面手写公式是做不到这一点的。
示例:模拟网页的滚动栏;进度条与数值百分比的变化