想创建和链接复杂的动画,但想避免手动创建数十乃至数百个关键帧时,请尝试使用表达式!!

说明:表达式是一小段代码,与脚本非常相似;与脚本不同,表达式会告诉属性执行某种操作。例如:你希望该球晃动,可以向其应用“摆动”表达式,而不是使用关键帧对“位置”属性进行动画制作。
关于表达式构成说明:表达式语言基于标准的 JavaScript 语言,不够,大家不必了解 JavaScript 也可入门。方法是使用关联器或者复制简单示例并修改示例以满足需求。

常见表达式:

time表达式  原理:time表示时间,以秒为单位,time*n =时间(秒数)*n (若应用于旋转属性,则n表示角度)。

例:若在旋转属性上设置time表达式为time*60,则图层将通过1秒的时间旋转60度,2秒时旋转到120度以此类推(数值为正数时顺时针旋转,为负数时逆时针旋转)。

wiggle表达式=wiggle(freq, amp, octaves = 1, amp_mult = 0.5, t = time)

原理:

freq:振频,即每秒抖动次数 ,没有默认值,必须传参(输入数值)

amp:振幅,即增大或减少的幅度 , 没有默认值,必须传参(输入数值)

octaves:在基波上增加谐波的量,有效参数为0到10之间的整数 ,即使输入浮点数(也就是说你用1.5,就会相当于2,哪怕是1.1也是2)也会被向上取整,默认数值为1

amp_mult:谐波放大的量,作为放大器使用,如果octaves小于等于1,则该参数传入多少都不会产生变化,默认数值为0.5(理解为只要小于1,就只有0.5这一种)

t:采样时间,如果传入的是个固定的数值,则持续返回这个数值对应的采样时间下的结果,抖动就失去意义,默认传入time函数(也就是在第几秒完成振动,直接输入数值)

举例:

在表达式编辑窗口里输入wiggle(20,100)

中文解释:返回一个振频为20,振幅为100的基波,在增加了0个单位谐波后谐波被放大0个单位时第0秒的数值或数组。

具体效果参考以下: