2016-10-13 00:16:48 点击量:8 标签: 收藏本文
TweenLite是一个缓动的类包,功能强大,并且易于使用,为了更多的(E文欠佳的、初学的)朋友了解它,使用它,特此翻译了一下TweenLite类文档中的说明文件,主要是对参数的说明,希望对大家有用。
ACTIONSCRIPT 语言版本: 3.0 (AS2 版也有提供) 更新 及更多文档请访问:
描述:
缓动。 我们都在做。我们很多人都知道除了 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参数说明:
该对象所具有的属性:
特别的属性 (可选的):
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 秒,代码如下:
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 的引用),代码如下:
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 译者注):
import gs.TweenLite; import fl.motion.easing.Elastic; TweenLite.from(clip_mc, 5, {y:"-100", ease:Elastic.easeOut});
说明:
TweenLite.to(myClip_mc, 1.5, {volume:0});TweenLite.to(myClip_mc, 1.5, {tint:0xFF0000});TweenLite.killTweensOf(myClip_mc); 函数。如果想强制终止缓动,可以传递一个 true 做为第二个参数,比如TweenLite.killTweensOf(myClip_mc, true);TweenLite.killDelayedCallsTo(myFunction_func); 这项功能可以用来控制回调函数的优先级。TweenLite.from() 方法,可以使用对象从别的位置回到当前的位置。例如,你可以将对象在舞台上摆放整齐(缓动结束时的位置),然后利用缓动,让它们跑到那个位置上去,你可以将缓动的初始位置值 x 或 y 或alpha (或者其它你需要的属性)当做参数传递给这个方法函数。TweenLite 下载链接:
下载下来的类包中,有一个 TweenLiteAS3_Sample_1.swf, 初学者可以用它来观察各种缓动的效果,并且直接得到相关的执行代码。算是一个可视化设计的工具,不要错过。
下载到类包以后,解压缩到一个目录比如:d:\AS3Class ,在flash9的首选参数 ->ActionScript->ActionScript3.0设置 中添加类目录,d:\AS3Class\TweenLiteAS3 即可正确引用到相关的类。
应用举例:
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 元件旋转并跑动到鼠标位置。
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室