TweenMax使用说明
一,主要代码结构: com.greensock包里面,首先最主要的就是TweenMax.as;然后一个常用的是 com.greensock.easing.*;里面包含了15个缓动,下文再一一介绍;另外一个是 com.greensock.events.TweenEvent,不过感觉不太常用; 每一个TweenMax方法大多都会返回一个的实例 -- 即下文所说的TweenMax Object。一个需要三个参数,即$target:Object,$duration:Number,$vars:Object,头两个即运动物体,时间,第三个参数保存了所有的参数。 二,TweenMax主类: 这里分几个大块来介绍,分别是:第三个参数特有属性(29个),PlugIn(17个),公共属性(10个),公共方法(20个)。 1,第三个参数特有属性(29个): 这29个参数可以直接传入第三个OBJECT参数中,不会增加文件的大小。 (1)delay : Number:延迟开始,在动画开始前延迟的秒数。 2useFrames : Boolean当设置为True时,对这个的时间计算方式就是基于帧frame的。 3ease : Function缓动方式。可以使用com.greensock.easing包下的缓动函数。 4easeParams : Array缓动函数参数。某些缓动函数需要传入一些参数来进行额外的控制。 5onInit : Function初始化函数。在开始前,所有参数还没被传入时触发。可以用来初始化运动对象的状态。 6onInitParams : Array初始化函数参数。 7onStart : Function开始函数。跟初始化函数不同,开始函数在的值改变之后才触发,而且不同于初始化函数。开始函数可以被触发多次。 8onStartParams : Array开始函数参数。 9onUpdate : Function更新函数。当每次数值更新的时候触发。 10onUpdateParams : Array更新函数参数。 11onComplete : Function完成函数。当完成缓动后触发。 12onCompleteParams : Array完成函数参数。 13onReverseComplete :Function回放完成函数。当TweenMaxObject处于回放状态,并且回到起点时触发。 14onReverseCompleteParams :Array回放完成函数参数。 onRepeat : Function重放函数。当每次重放的时候触发。 16onRepeatParams : Array重放函数参数。 17immediateRender : Boolean立即渲染。一般来说,会在下一个渲染周期(也就是下一帧)被渲染到场景中。如果想强制立即渲染,可以把这个参数设为true。另外如果想阻止一个运动周期为0的运动物体被渲染,也可以把这个参数设为false。 18paused : Boolean暂停。这个很好理解,设为时就会暂停缓动。 19reversed : Boolean反转。不知道为什么跟说明文档里的不同。我的理解是将的缓动反过来播放。 20overwrite : int覆盖处理。定义了当对同一个物体使用时发生冲突的处理方法。有种模式。 模式:NONE。不做任何处理。性能ExcellentALL_IMMEDIATE。设为该模式的运动具有最高的优先级,会覆盖掉运动物体之前所有的缓动。新的创建时覆盖旧的。性能AUTO。是的默认模式(原来我之前的痛苦都是因为它???)。在新的第一次渲染时覆盖重复的属性(模式是覆盖掉全部属性)。只要不是具有太多的属性需要覆盖,性能还是不错的。 CONCURRENT。这个单词的意思是“同时发生”。跟模式很相似。唯一的不同是他只覆盖掉正在运行的。而放过其他的没有启动的Very GoodALL_ONSTART。也是跟模式非常像。两点不同是他是在第一次渲染时才覆盖掉其他所有的,而且这个会把在他之后创建的也覆盖掉。性能PREEXISTING。这个单词一看上去很迷糊,其实是pre-existing,?。唯一的不同是他是在如果想改变全局的默认overwrite属性,可以调用哪个OverWriteManager类的全局方法init(),即: OverwriteManager.init(OverwriteManager.XXXX); 21repeat : int循环次数。设置为-1为无限循环。 22repeatDelay : Number循环延迟的时间。 23yoyo : Boolean:YOYO球。另外一种循环的方式。像我们玩的YOYO球一样,从头到尾,再从尾到头的往返运动。PS:要与repeat同时设置。 24onStartListener : Function注册一个TweenEvent的监听,跟开始函数在同一时刻派发。 25onUpdateListener : Function的监听,跟更新函数在同一时刻派发。 26onCompleteListener :Function的监听,跟完成函数在同一时刻派发。 27onReverseCompleteListener :Function的监听,跟回放完成函数在同一时刻派发。 28onRepeatListener : Function的监听,跟重放函数在同一时刻派发。 startAt : Object重设初始值。一般使用运动物体的当前状态来做初始值。但是可以使用这个参数重新设置运动物体的初始状态。 2,PlugIn(17个) PlugIn与"第三个参数特有属性其实是同一样东西。所不同的是他会显著增加生成文件的大小。所有都关闭的情况下的大小为8.8kTweenLite为4k)。当所有的都使用后(包括收费的)会膨胀到 25.9k。(话说回来怎么关闭我也不清楚,求指教) 这里介绍的是文档里提到的个(我看了包里面竟然有30个,?不管他)。 autoAlpha : Number跟alpha几乎一样,不同的是他在alpha==0时会自动将visible也设为,而在alpha>0时将设为。 visible : Boolean在的最后设置物体的属性。 volume : Number缓动音量的。需要运动物体有soundTransform属性,例如MovieClip,SoundChannelNetStream等。 tint : Number颜色。将整个运动物体变成对应的颜色。可以使用十六进制值。 removeTint : Boolean时,去掉已经使用的tintframe : Number当运动物体是时,缓动内部的时间轴。 bezier : Array贝塞尔曲线。这个有点不清楚,好像数组里的奇数个点(Object{x:xxx,y:xxx})为贝塞尔曲线的控制点,偶数个点为运动的终点。 bezierThrough : Array比贝塞尔曲线更直观,数组里奇数的点为曲线中要穿过的点。 orientToBezier : Array (or Boolean):指向运动。一个比较常用的功能是在进行曲线运动时,物体的朝向一般要对应运动的方向(例如汽车之类的运动)。对于2D可以简单的传值 true。对于3D或者需要更多的灵活性,可以传入数组个参数,xyrotation,需要增加的度数,注:头3个参数不是具体的数值,而是需要变化的参数,头两个是位置属性,第三个是旋转参数,第四个参数为可选。 hexColors : Object进制缓动。 TweenMax在对进制数进行缓动时会有不平滑的现象出现,这是就需要使用hexColors参数进行缓动。参数是一个对象,所以需要把要进行缓动的参数传入其中,即:TweenMax.to(target,2,{hexColors:{mcParas:newColor}});其中mcParas是target的属性,是要缓动到的新的进值。 shortRotation : Object短旋转。用这个代替rotation的话,会自动按最短的旋转方向来进行旋转,而不是按照AS3默认的以逆时针方向进行旋转。记得要按Object的方式传入。 roundProps : Array取整数。对于想要在变化中始终取整的值,可以把属性的字符形式放到这个数组中。例:TweenMax.to(target,{x:200,y:200,roundProps:["x","y"]}); blurFilter:Object模糊滤镜。用法:glowFilter:Object发光滤镜。用法:colorMatrixFilter:Object颜色矩阵滤镜。用法:dropShadowFilter:Object投影滤镜。用法:bevelFilter:Object斜角滤镜。用法: 3,公共属性 有个公共属性。(啊好简短的介绍) )动画进度 currentProgress : Number 缓动动画的进度,从~)动画时间 currentTime : Number totalDuartion不同,currentTime只表示了一个周期的时间。 )全局缓动速度倍数 globalTimeScale : Number 类似与按XX倍速播放缓动动画,用法:TweenMax.globalTimeScale= XXX; )取消作用在运动物体上的所有动画 killTweensOf : Function 这是一个对中killTweensOf函数的引用,可以直接使用。 )重放次数 repeat : int 跟直接在的构造函数中传入效果一样。 )重放延迟时间 repeatDelay : Number )个体缓动速度倍数 timeScale : Number globalTimeScale用法一样,只是这个是对单个调用的。 )总缓动进度 totalProgress : Number 这个计算的是总的缓动时间,包含了重放和重放延迟的时间。从)总缓动时间 totalDuration : Number 这个计算的是总的缓动时间,包含了重放和重放延迟的时间。 )yoyo yoyo : Boolean 的构造函数中传入效果一样。 4,公共方法(20个): )构造方法。 TweenMax(target:Object,duration:Number,vars:Object) 三个参数分别是运动物体,周期,参数。 allTo(静态方法) allTo(targets:Array,vars:Object,stagger:Number = 0,onCompleteAll:Function = null,onCompleteAllParams:Array = null):Array 头三个参数分别是:个数组保存了多个要进行缓动的对象,周期,参数; 后三个参数为可选,分别是:间隔时间,完成调用的函数,函数参数。 返回的是一个数组保存了创建的所有allFromToallFromTo(targets:Array,fromVars:Object,toVars:Object,onCompleteAllParams:Array =null):Array 一样,只是多了一个参数对象可以用与定义起始状态。 allFrom(静态方法) allFrom(targets:Array,onCompleteAll:Function =null,simhei;">一样,只是定义的是运动对象的初始状态,运动到当前状态。 toto(target:Object,vars:Object):TweenMax 的简化版,也是很多人用的主要目的,定义了运动物体,周期,和参数。返回一个fromTofromTo(target:Object,toVars:Object):TweenMax 一样,不过多了一个参数定义运动物体的初始状态。 fromfrom(target:Object,simhei;">)强制完成 complete(skipRender:Boolean = false,suppressEvents:Boolean = false):void 强制到最后结束部分。如果第一个参数设为,则不会渲染,将停在调用那一刻。如果第二个参数设为则不会触发onCompelte,onUpdate等事件。 )延迟执行函数 delayedCall(delay:Number,onComplete:Function,onCompleteParams:Array =null,useFrames:Boolean = false):TweenMax 自带的setTimeout几乎一样,是他们的版。 )返回正在运行的的所有getAllTweens():Array 如题。 )返回运动物体正在运行的的getTweensOf(target:Object):Array )清除初始值 invalidate():void 当从新播放一段时(即调用restart()方法),如果想从新设置新的初始值,可以调用此方法清空原有初始值。调用后此会将当前位置作为新的初始值。 )判断是否正在缓动(静态方法) isTweening(target:Object):Boolean 正在缓动返回true,否则)清除所有killAll(complete:Boolean = false,tweens:Boolean = true,delayedCalls:Boolean = true):void 三个参数,第一个设为可以强制先完成再清除,第二个是清除所有的缓动,第三个是清除所有的函数延迟执行。 )清除所有子对象的killChildTweensOf(parent:DisplayObjectContainer,complete:Boolean =false):void 将一个DisplayObjectContainer的所有子对象的。可以选择先强制完成。 )清除某个属性的缓动 killProperties(names:Array):void 传入的是一个数组,以字符串的形式。例:_tweenMax.killProperties(["x"]); )全部暂停(静态方法) pauseAll(tweens:Boolean = true,simhei;">全部暂停TweenMax Object(可选),函数延迟执行(可选)。 )全部恢复(静态方法) 全部恢复)重定向终点 setDestination(property:String,value:*,adjustStartValues:Boolen =true):void 第一个参数是对应的属性值,第二个是要设置的新值,第三个参数是是否要对应调整起点,让转变看起来没那么 skipping/jerking,就是要注意如果是要反播缓动动画的话可能会无法重定向到起点。一般不建议和updateTo一起用。 )重定向属性 updateTo(vars:Object,resetDuration:Boolean = false):void 可以在运行中新增或改变原有的属性变化值。第二个参数设为时将不重播缓动,而继续缓动到新的值;设为将中断并重播缓动。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |