GreenSock动画平台学习笔记(二)TweenMax
TweenMax的vars对象支持的属性
{
delay:Number 在开始动画前要等待的时间,单位为秒(或帧数)
useFrames:Boolean 如果设为true则动画模式是基于帧的,否则是基于时间的(指的是动画函数中要指定时间的地方)
ease:Function 缓动函数,默认为Quad.easeOut
easeParams:Array 缓动函数的参数,以数组形式传入,注意只是有些缓动函数才需要需要参数的
immediateRender:Boolean 当值为false时,
overwrite:int 用来控制同一个对象上有多个动画时的覆盖之类的情况,tweenlite只有1和2这两种情况可选,具体请见OverwriteManager
onInit:Function 当动画开始渲染(或是说开始运行时)前要执行的函数
onInitParams:Array onInit函数的参数,以数组形式传入
onStart:Function 当动画开始渲染时要执行的函数,有可能会被执行多次,因为动画时可以重复开始的
onStartParams:Array onStart函数的参数,以数组形式传入
onUpdate:Function 当每一次动画属性值发生变化时调用的函数
onUpdateParams:Array onUpdate函数的参数,以数组形式传入
onComplete:Function 当动画执行完毕后要调用的函数
onCompleteParams:Array onComplete函数的参数,以数组形式传入
onReverseComplete:Function 当一个动画被反转后又回到了原点时调用的函数
onReverseComplete
:Array onReverseComplete
函数的参数,以数组形式传入
onRepeat:Function 当每次动画重新执行时要调用的函数
onRepeatParams:Array onRepeat函数的参数,以数组形式传入
paused:Boolean 当值为真时,动画将会暂停播放
reversed:Boolean 当值为真时,动画将会倒退播放,注意必须设置currentProgress为1或currentTime为动画持续时间,倒退播放才起作用
repeat:int 设定动画的循环播放次数,要想无限循环请使用-1。循环的次数不包括动画的第一次播放
repeatDelay:Number 设定动画每一次循环之间的间隔时间(或是帧),单位为妙
yoyo:Boolean 当值为真时,动画循环的方式为: 向前播放-向后播放-向前播放,而如果yoyo为假的时候,循环的方式为:向前播放-回到原点向前播放。向后播放也会被算作一次循环。
startAt:Object 设定动画的各种初始属性,以对象方式来写
}
TweenMax实例属性
currentProgress:Number[读写] 用来读取或设置动画的当前进程,0表示开始,0.5表示一半,1表示结束,
totalProgress:Number[读写] 用来读取或设置动画的当前进程,0表示开始,0.5表示一半,1表示结束,可读可写,与currentProgress不同的是,该属性是相对于动画整体而言的,即动画如果设置了循环,那循环的部分也会算在内
currentTime:Number[写] 用来设置动画的当前时间,以秒(或帧)为单位,只可写。
totalTime:Number [写] 用来设置动画的当前时间,以秒(或帧)为单位,只可写。该属性会把循环也算在内
repeat:int[写] 用来设置动画重复(或者说循环)次数,当设为-1时为无限循环
repeatDelay:Number[读写] 动画每次循环间隔的秒数(或帧数)
yoyo:Boolean 与循环配合使用,当值为真时,循环模式为来回,即1-2-3,3-2-1,1-2-3, 当值为假时,循环模式为单向循环,即1-2-3,1-2-3,1-2-3
timeScale:Number[读写] 用来读取或设置该实例动画的回放速率,例如1为正常速度,0.5为一半速度,2为2倍速度
totalDuration:Number[读写] 用来设置或读取动画的持续秒数(或帧数),包括了所有循环、循环间隔所用的时间。
duration:Number[读写] 用来设置或读取动画执行一次的持续秒数(或帧数),即不包括循环、循环间隔的时间。
TweenMax实例方法
complete( skipRender:Boolean = false, suppressEvents:Boolean = false ):void
说明:用来立刻完成动画
参数:skipRender:设为true的时候动画属性会停留在目前状态,为false时会设为最终状态
suppressEvents:当为true时,onComplete, onUpdate, onReverseComplete等事件不会触发
killProperties( names:Array ):void
说明:用来删除某个动画中的动画属性,并且被删除的动画属性不会被设为最终状态
参数:names:要删除的动画属性,以数组形式传入,如["x","y"]
updateTo( vars:Object, resetDuration:Boolean = false ):void
说明:用来在动画创建后(或正在运行中)改变它的vars对象,如果使用了该方法,那么当 resetDuration为真且动画没在运行当中的时候会重新启动动画
参数:vars:要改变的属性
resetDuration:为真且动画没在运行的时候会重启动画,如果为假则不会重启动画
TweenMax静态属性/方法
globalTimeScale:Number[读写] 用来读取或设置所有动画的回放速率,例如1为正常速度,0.5为一半速度,2为2倍速度,能取的最小值为0.0001
killTweensOf() //移除所有动画,并会把各种动画属性都设置到最终状态,无参数
to( target:Object, duration:Number, vars:Object ):TweenMax
说明:与TweenLite.to()用法相同,不过功能有所增加,体现在vars的属性上
from( target:Object, duration:Number, vars:Object ):TweenMax
说明:与TweenLite.from()用法相同,不过功能有所增加,体现在vars的属性上
fromTo( target:Object, duration:Number, fromVars:Object, toVars:Object ):TweenMax
说明:与to()、from()用法差不多,只不过是从指定动画属性到指定动画属性,fromVars对象里只写初始化的要进行动画的属性,,其他的诸如delay、onUpdate等属性只能写在toVars对象里。
allTo( targets:Array, duration:Number, vars:Object, stagger:Number = 0, onCompleteAll:Function = null, onCompleteAllParams:Array = null ):Array
说明:与to()用法差不多。不过这个函数能驱动多个显示对象。
参数:targets:要进行动画的显示对象,可以有多个,以数组形式传入
duration:动画持续的秒数(或帧数)
vars:设置动画的一些属性及其他参数
stagger:每个显示对象间的动画开始间隔秒数
onCompleteAll:当所有显示对象都完成动画后要调用的函数
onCompleteAllParams: onCompleteAll函数的参数,以数组形式传入
allFrom( targets:Array, duration:Number, vars:Object, stagger:Number = 0, onCompleteAll:Function = null, onCompleteAllParams:Array = null ):Array
说明:与allTo()用法相同
allFromTo( targets:Array, duration:Number, fromVars:Object, toVars:Object, stagger:Number = 0, onCompleteAll:Function = null, onCompleteAllParams:Array = null ):Array
说明:与fromTo()功能相同,只不过能驱动多个显示对象做动画,用法与allTo()、allFrom()相同
delayedCall( delay:Number, onComplete:Function, onCompleteParams:Array = null, useFrames:Boolean = false ):TweenMax
说明:用于在一定时间(或帧数)后调用一个函数
参数:delay:要延迟的秒数(或帧数)
onComplete:要延迟执行的函数
onCompleteParams: onComplete的参数,以数组形式传入
useFrame:设定延迟的时间模式是基于秒数还是帧数
getAllTweens()
说明:获取所有还没完成的动画实例,已经完成了的动画不会获取到。当autoRemoveChildren属性设为真的时候,已经完成的动画就不会再存在于时间轴上了
getTweensOf( target:Object ):Array
说明:用来获取某个物体上的所有TweenLiteTweenMax对象
参数:target:目标物体
isTweening( target:object ):Boolean
说明:用来侦测某个物体是否在进行动画
参数:target:要侦测的物体
killAll( complete:Boolean = false, tweens:Boolean = true, delayedCalls:Boolean = true ):void
说明:用来消除所有的动画和/或延迟函数
参数:complete:当为真时在动画或延迟函数消除前会完成执行
tweens:当为真时,会保留动画
delayedCalls:当为真时会保留延迟函数
killChildTweensOf( parent:DisplayObjectContainer, complete:Boolean = false ):void
说明:用来消除一个显示对象容器内的所有子对象的动画
参数:parent:目标显示对象容器
complete:在动画消除前是否强制动画执行完
pauseAll( tweens:Boolean = true, delayedCalls:Boolean = true ):void
说明:用来暂停所有动画或延迟函数
参数:tweens:如果为真则所有动画都会暂停
delayedCalls:如果为真则所有延迟函数都会暂停
resumeAll( tweens:Boolean = true, delayedCalls:Boolean = true ):void
说明:用来继续所有暂停了的动画和延迟函数
参数:tweens:如果为真,所有暂停的动画都会继续
delayedCalls:如果为真,所有暂停的延迟函数都会继续