TweenLite 是一个缓动的类包,功能强大,并且易于使用,为了更多的(E文欠佳的、初学的)朋友了解它,使用它,特此翻译了一下TweenLite 类文档中的说明文件,主要是对参数的说明,希望对大家有用。
TweenLite.as
ACTIONSCRIPT 语言版本: 3.0 (AS2 版也有提供)
更新 及 更多文档请访问: http://www.TweenLite.com (这里的链接指向 AS3 版)
描述:
缓动。 我们都在做。我们很多人都知道除了 Adobe’s Tween 类之外,还有很多更好的动画引擎,(比如 Tweener). 每种引擎都有它们各自的优缺点。
最近几年,为了得到一个更紧凑的,跑得更快,效率更高的引擎,我创建了 TweenLite (我无法接受其它的一些引擎带来的文件尺寸上的负担).它很快就融入到我的所有工作中。我告诉其它人,让大家能够从中获益,最终,我将它发布了出来。在过去的几年中,TweenLite越来越受欢迎,超乎了我的想像.
基于此,我又添加了一些新的功能,并且尽量保持这个文件的尺寸,让它小于3K。 TweenFilterLite 扩充了 TweenLite 并且加入了滤镜缓动,包含了 ColorMatrixFilter 的一些效果,比如饱和、对比、增亮、色调,甚至是着色,但文件的尺寸始终没有超过3K。与 TweenLite 的做法相似,提供有AS2版和AS3版的类包下载。
TweenMax 比 TweenFilterLite 增加了更多的特性,包含 bezier 缓动,暂停/恢复,顺序执行等等。(见 www.TweenMax.com)
我猜你会想“如果这个是‘轻量级的’,那么它一定会丢掉很多特性,让我用的时候会有点担心”。这种想法是对的,在这里缺少一些其它缓动引擎所包含的特效,但是我可以肯定的说,在过去几年我的工程(很多获奖的 flash 程序以及500强企业的项目中)中,我几乎一直都在用它,而它从没有让我失望过。
我还真没发现过我还需要其它的功能。你可以对任何的属性(包括 DisplayObject 对象的音量和颜色)使用缓动函数,内置的延迟时间,回调函数,以及传递参数给这些回调函数,甚至根据数组进行缓动,统统只在一行代码中完成。如果你需要更多的特效,你可以装上 TweenFilterLite 或者 TweenMax来用用。
我也从来没有发现比这个更快的引擎。不同引擎执行效率的比较,请访问 http://blog.greensock.com/tweeing-speed-test/.
TweenLite参数说明:
该对象所具有的属性:
特别的属性 (**可选的**):
1
2 3 4 5 6 7 8 |
TweenLite
.to
(mc
,
1
,
{
x
:
100
,
y
:
200
}
)
;
TweenLite .to (mc , 1 , { x : 300 , delay : 2 } ) ; //后创建的缓动将会覆盖掉先前创建的缓动,(可以起到这样的作用:缓动进行到一半时被中断,执行新的缓动 译者注) - 2 (自动 ) : (当 OverwriteManager . init ( ) 被执行后 ,会根据具体的属性值进行选择 )只覆盖对同一属性的缓动。 TweenLite .to (mc , 1 , { x : 100 , y : 200 } ) ; TweenLite .to (mc , 1 , { x : 300 } ) ; //only "x" 属性的缓动将被覆盖 - 3 (同时发生 ) : 缓动开始时,覆盖全部的缓动。 TweenLite .to (mc , 1 , { x : 100 , y : 200 } ) ; TweenLite .to (mc , 1 , { x : 300 , delay : 2 } ) ; //不会覆盖先前的缓动,因为每二个缓动开始时,第一个缓动已经结束了。 |
举例:
将实例名为 “clip_mc” 的 MovieClip 透明度降到 50% (0.5) ,并将它 x 轴位置移动到 120 ,将音量将到 0,缓动总共用时 1.5 秒,代码如下:
1
2 |
import gs
.TweenLite
;
TweenLite .to (clip_mc , 1.5 , { alpha : 0.5 , x : 120 , volume : 0 } ) ; |
如果希望使用更高级的缓动函数在 5 内,将 alpha 变到 0.5,将 x 移动 到 120 ,使用 “easeOutBack” 弹性函数,缓动整体延迟 2 秒发生,并且在缓动结束时,执行 “onFinishTween” 函数,并且为这个函数传递几个参数,(一个数值 5 以及对 clip_mc 的引用),代码如下:
1
2 3 4 5 6 |
import gs
.TweenLite
;
import fl .motion .easing .Back ; TweenLite .to (clip_mc , 5 , { alpha : 0.5 , x : 120 , ease :Back .easeOut , delay : 2 , onComplete : onFinishTween , onCompleteParams : [ 5 , clip_mc ] } ) ; function onFinishTween (argument1 : Number , argument2 : MovieClip ) : void { trace ( "The tween has finished! argument1 = " + argument1 + ", and argument2 = " + argument2 ) ; } |
如果你的舞台上的 MovieClip 已经停在了它的结束位置,你只想让它花上5秒种回到这个位置,(只需要改变 y 属性,比当前位置高 100 像素的位置,让它从那里下落), 代码如下(这次使用的是 TweenLite.from 译者注):
1
2 3 |
import gs
.TweenLite
;
import fl .motion .easing .Elastic ; TweenLite .from (clip_mc , 5 , { y : "-100" , ease :Elastic .easeOut } ) ; |
说明:
TweenLite 下载链接:
http://www.greensock.com/ActionScript/TweenLiteAS3/TweenLiteAS3.zip
下载下来的类包中,有一个 TweenLiteAS3_Sample_1.swf ,初学者可以用它来观察各种缓动的效果,并且直接得到相关的执行代码。算是一个可视化设计的工具,不要错过。
下载到类包以后,解压缩到一个目录比如:d:\AS3Class ,在flash9 的首选参数->ActionScript->ActionScript3.0设置中添加类目录,d:\AS3Class \TweenLiteAS3 即可正确引用到相关的类。
应用举例:
1
2 3 4 5 6 |
import gs
.TweenLite
;
import gs .easing .*; stage . addEventListener ( MouseEvent . CLICK , onCK ) ; function onCK (evt ) : void { TweenLite .to (mc , 0.5 , { x : mouseX , y : mouseY , rotation : 360 } ) ; } |
在舞台上点击,会让mc 元件旋转并跑动到鼠标位置。