读书人

TweenLite运用参数解释

发布时间: 2012-11-25 11:44:31 作者: rapoo

TweenLite使用参数解释

这是转载过来的文章,不少as3程序员都会用到这个类库。他的功能很强大。但是参数过多。放在这里与大家共享。用到的时候看一看就知道怎么用了。很是简单。

?

TweenLite 是一个缓动的类包,功能强大,并且易于使用,为了更多的(E文欠佳的、初学的)朋友了解它,使用它,特此翻译了一下TweenLite 类文档中的说明? ? ? ? ? ? ? ? ? ? ? ? - 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类会让你的 Flash 文件增加 3kb大小。
? ? ? ? - 给参数值加上引号,表示对指定的属性进行相应操作。比如,使用 TweenLite.to(mc, 2, {x:"-20"});它将 mc.x 向左移动 20 像素,与此相同效果的代码是:TweenLite.to(mc, 2, {x:mc.x - 20});
? ? ? ? - 你可以用别的缓动函数替换 TweenLite 默认的缓动函数: Regular.easeOut.
? ? ? ? - 必须使用 Flash Player 9 或之后版本的播放器 (ActionScript 3.0)
? ? ? ? - 可以对任何 MovieClip 使用 "volume" 缓动,就比如:TweenLite.to(myClip_mc, 1.5, {volume:0});
? ? ? ? - 可以将 MovieClip 设定成某种颜色,使用 "tint" 参数,比如: TweenLite.to(myClip_mc, 1.5, {tint:0xFF0000});
? ? ? ? - 想要对数组内容进行缓动,将数值放到一个叫 endArray 的数组中即可,例如:
? ? ? ?? ?var myArray:Array = [1,2,3,4];
? ? ? ?? ?TweenLite.to(myArray, 1.5, {endArray:[10,20,30,40]});
? ? ? ? - 可以在任何时候终止缓动,使用 TweenLite.killTweensOf(myClip_mc); 函数。如果想强制终止缓动,可以传递一个 true 做为第二个参数,比如
TweenLite.killTweensOf(myClip_mc, true);
? ? ? ? - 取掉延迟回调函数,用 TweenLite.killDelayedCallsTo(myFunction_func);这项功能可以用来控制回调函数的优先级。
? ? ? ? - 使用 TweenLite.from() 方法,可以使用对象从别的位置回到当前的位置。例如,你可以将对象在舞台上摆放整齐(缓动结束时的位置),然后利用
缓动,让它们跑到那个位置上去,你可以将缓动的初始位置值 x 或 y 或 alpha (或者其它你需要的属性)当做参数传递给这个方法函数。

TweenLite 下载链接:
http://www.greensock.com/ActionS ... S3/TweenLiteAS3.zip
下载下来的类包中,有一个 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) {
? ? ? ? TweenLite.to(mc, 0.5, {x:mouseX, y:mouseY, rotation:360});
}
在舞台上点击,会让mc 元件旋转并跑动到鼠标位置。

读书人网 >Web前端

热点推荐