AS3常用三方类库(二):TweenMax 4/4(Version:11.37,Updated 2010-05-24)

最后一节,我们谈谈TweenMax的缓动效果。TweenMax的缓动效果包是com.greensock.easing.*;其中里面有16个类。按照每个类都有的easeIn,easeOut,easeInOut,3种模式的话,就总共有48种变化了(猜想,应该是左右)。下面来一样一样介绍:

三,缓动效果:

1,Linear线性变化

字面意思就很好理解,线性变化,就是匀速。

2,Back变化。

不知道怎么解释好,Back有回来的意思,在缓动前,会先往回运动一段距离。

3,Bounce弹跳变化。

顾名思义,在变化前会几次回归原点,好像在弹一样。

4,Circ圆形变化。

这个翻译···自己先汗一下自己,运动的曲线是一个圆形的弧度。

5,Cubic立方体变化。


这个更晕,跟圆形变化差不多,不过更平滑些。

6,Elastic橡皮圈变化

这个···翻译,我麻木了···跟Back变化有点像,但是会有一个很强的波动。在EaseIn和EaseOut时尤为明显。

7,Expo爆炸变化

一直很平缓,在最后一点完成所有变化。

8,Quad变化

不知道Quad代表什么意思,不过是比较普通的缓动。Quadratic平方缓动??。

9,Quart四分之一变化。


我才Quart是Quarter的意思,有1/4的时间是没有缓动。

10,Quint变化


百度一下是什么五胞胎之一?晕了,是1/5时间没有缓动吗?

11,Sine正弦变化


像正弦一样的变化~?猜得····

12,Strong变化。

这个没有图···因为他没有图···汗···字面意思理解就是很强的变化。

 

以上是12种内置的变化,所以准确来说是有36种的,那剩下的4个类是做什么的呢。

13,EaseLookup

包含一个静态方法fine(),可以通过字符串String直接取得ease的实例。方便一些反射操作的需要。例:

TweenMax.to(ball, 1, { x:200,ease:EaseLookup.find("backEaseInOut") } );

14,FastEase

AS3的TweenMax版本有内置的算法可以加速缓动效果。需要用这个类的静态方法activate()手动打开。可以提高35%~80%的缓动计算,提高2%~15%的整个缓动效率。

可以被加速的缓动变化包括:Linear Quad Cubic Quart Quint Strong这六种而已。打开方法,例:

FastEase.activate([Strong, Linear, Quad]);

还有另外一个静态方法activateEase(ease:Function, type:int, power:uint):void,是用来把这种优化方法用在非com.greensock的缓动上的,例如用在AS3自带的缓动类。

15,RoughEase

RoughEase(strength:Number = 1, points:uint = 20, restrictMaxAndMin:Boolean = false, templateEase:Function = null, taper:String = "none", randomize:Boolean = true, name:String = "")

通常的缓动变化都是很平滑的,如果想要一个不平滑的效果,就可以使用RoughEase。

这里列出的是他的构造方法,其中:

strength:Number:随机点的幅度。

points:uint:随机点的数量

restrictMaxAndMin:Boolean:当设为true时,随机数的变化会在初始值和终点值之间波动。当为false时,随机数的变化可能会超过这个区间。

templateEase:Function:随机点作用的缓动模板。默认是Linear.easeNone。

taper:String:随机变化趋向那一端,"in”的话趋向于起点,"out"的话趋向于终点。默认是"none"。

randomize:Boolean:设为true时,缓动位置将会随机变化。如果为false时,缓动位置将会锯齿型变化。

name:String :为roughEase实例命名,这样以后可以使用静态方法byName()获取引用。

用法:

例1,直接使用:

TweenLite.to(ball, 2, {y:0, ease:RoughEase.create(1, 20, true, Bounce.easeInOut)});

例2,生成实例调用:

var _roughEase:RoughEase = new RoughEase(1,20,true, Strong.easeOut, "none", true, "superRoughEase");

然后直接调用:

TweenLite.to(mc, 3, {y:300, ease:rough.ease});

或者:

TweenLite.to(mc, 3, {y:300, ease:RoughEase.byName("superRoughEase")});

16,CustumEase

自建缓动效果。基本不能直接编写。需要登录这个网址http://blog.greensock.com/customease/使用图形界面工具生成代码。然后COPY代码到你的项目中应用。例:

创建:

CustomEase.create("myCustomEase", [{s:0,cp:0.814,e:0.908},{s:0.908,cp:1.002,e:0.376},{s:0.376,cp:-0.25,e:1}]);

使用:

TweenMax.to(mc, 2, {x:"250", ease:CustomEase.byName("myCustomEase")});

 

四,总结:

TweenMax的功能很多,而且处于不断更新完善中。这次介绍了绝大部分常用的功能,其中可能会有错漏的地方,希望有发现的及时跟我联系,帮助我也纠正错误。 :)

而且他现在好像发展到什么Tween Platform了。还有什么TweenLoader,TimeLineMax,TimeLineLite等等,呵呵。

最后希望大家多跟我联系交流,互相进步。

posted @ 2010-06-19 14:03  rob_2010  阅读(408)  评论(0编辑  收藏  举报