2024年4月30日发(作者:)

首先,为了方便我们不使用关键帧来设置动画,因为这样做的话,每次还要调整关键帧3

和4的位置,要知道关键帧记录的是时间轴的位置,而每次使用的素材长度是不同的。所

以,我们使用表达式,让程序去找素材的出点。

下面第一步,我们利用一个linear(t, tMin, tMax, value1, value2)函数把时间轴上素材

的出点转化为透明度变量。

为透明度添加表达式如下:

linear(time,outPoint-1,outPoint, 100, 0);//其中“linear”表示线性变化,“time”是时

间,“outPoint”是素材的出点,该表达式表示素材的透明度在素材出点前一秒到素材出点

从100变化到0,这样就实现了素材的淡出效果。

同样道理,使用:

linear(time,inPoint,inPoint+1, 0, 100);//这一个表达式可以使素材实现淡入效果。

我们同时淡入淡出的话,就用一个”if…..else…..”判断语句将以上两个表达式连起来,

为素材透明度添加表达式如下:

if(time<1)

linear(time,inPoint,inPoint+1, 0, 100);

else

linear(time,outPoint-1,outPoint, 100, 0);

这样就实现了素材的淡入淡出效果。

我现在觉得还是自己手动设置透明度的四个关键帧动画快,因为还不熟练打表达式。

经过RayCrown的指出上面的语句有漏洞,当把入点移到1秒以后 time>1所以不执行

if里的,而执行的是else里的。如图:

RayCrown写的规范,标准的语句为:

s=linear(time,inPoint,outPoint, value,value);

a=linear(time,inPoint,inPoint+1, -100, 0);

b=linear(time,outPoint-1,outPoint, 0, -100);

a+b+s

这时候不管你怎么调整出入点、出点动画始终一致

大家快试试吧!