GreenSock动画平台学习笔记(三)TimelineLite
TimelineLite是一个轻量级的、简单易用的时间轴类,可以用来建立和管理TweenLite、TweenMax、TimelineLite、TimelineMax等实例组成的队列。你可以想象,一个TimelineLite实例就像是一个虚拟的影片剪辑时间轴或是一个你可以在掌控时间的基础上在里面放置任何动画或Timeline的容器。
TimelineLite实例属性
currentProgress:Number[读写] 用来设置或读取动画的进程度.例如0表示开始,0.5表示一半,1表示完成。totalProgress在TimelineLite中与currentProgress含义相同,但在TimelineMax中,totalProgress会把循环以及循环间隔包括在内。
duration:Number[读写] 用来设置或读取Timeline持续的秒数(或帧数)
timeScale:Number[读写] 用来设置或读取时间轴的回放速率,比如0.5为一半速率,1为正常速度,2为2倍速度
totalDuration:Number[读写] 用来设置或读取总的持续时间(或帧数),包括循环和循环间隔的时间
useFrame:Boolean[读] 是否启用帧模式
TimelineLite实例方法
TimelineLite( vars:Object = null )
TimelineLite类的构造函数。传入一个vars对象作为参数
append( tween:TweenCore, offset:Number = 0 ):TweenCore
说明:在时间轴的末端添加一个TweenLite、TweenMax、TimelineLite、TimelineMax动画实例
参数:tween:要添加的TweenLite、TweenMax、TimelineLite、TimelineMax动画实例
offset:相对于时间轴末端要偏移的秒数(或帧数),例如如果你想要添加的本段动画跟原本时间轴上的最后一段动画有3秒的间距,那你可以把这个参数设为3,又例如你想要添加的本段动画跟原本时间轴上的最后一段动画有2秒的重叠,那你可以把这个参数设为-2.
该方法返回的是添加进去的动画实例
insert( tween:TweenCore, timeOrLabel:* = 0 ):TweenCore
说明:在指定的时间、帧或标签中插入一个TweenLite、TweenMax、TimelineLite、TimelineMax动画实例
参数:tween: 要插入的TweenLite、TweenMax、TimelineLite、TimelineMax动画实例
timeOrLabel:指定插入动画的时间点,可以是秒数(或帧数),和标签(以字符串表示)
该方法返回的是插入进去的动画实例
appendMultiple( tweens:Array, offset:Number = 0, align:String = "normal", stagger:Number = 0 ):Array
说明:可以一次添加多个TweenLite、TweenMax、TimelineLite、TimelineMax动画实例到时间轴的末端。
参数:tweens:一个包括了要添加的动画实例的数组
offset:相对于时间轴末端要偏移的秒数(或帧数)
align:添加的动画的排列模式,因为添加进去的有多个动画,所以要决定它们是如何排列的,有三中模式可选:TweenAlign.SEQUENCE:添加的动画会根据先后顺序一个接一个的依次排列;TweenAlign.START:把添加的所有动画重叠在一起,并且会忽略它们的delay;TweenAlign.NORMAL:把所有添加的动画重叠在一起,并且不会忽略它们的delay。
stagger:添加进去的每个动画之间运行的时间间距,单位为秒
该方法返回的是添加进去的动画实例数组
insertMultiple( tweens:Array, timeOrLabel:String = "0", align:Number = normal, stagger:* = 0 ):Array
说明:一次性向指定的时间、帧数或标签插入多个TweenLite、TweenMax、TimelineLite、TimelineMax动画实例,用法与appendMultiple相同,就不再累述
prepend( tween:TweenCore, adjustLabels:Boolean = false ):TweenCore
说明:在时间轴的开始处插入一个TweenLite、TweenMax、TimelineLite、TimelineMax动画实例,它会把后面的动画向后挤走
参数:tween:要插入的动画实例
adjustLabels:如果为true,那么时间轴上标签也会跟着被挤走的动画往后挪
该方法返回插入的动画实例
prependMultiple( tweens:Array, align:String = "normal", stagger:Number = 0, adjustLabels:Boolean = false ):Array
说明:一次性的在时间轴的开始处插入多个TweenLite、TweenMax、TimelineLite、TimelineMax动画实例,它会把后面的动画向后挤走。用法与appenfMultiple等相同
addLable( label:String, time:Number ):void
说明:在时间轴上添加一个帧标签,以后gotoAndStop() gotoAndPlay()就可使直接使用这个标签作为参数了
参数:label:标签名称
time:指明要在哪个时间点(或帧数)上增加标签,单位为秒
removeLable( label:String ):Number
说明:从时间轴上移除一个标签,并返回这个标签的时间点
参数:lable:要移除的标签名称
goto( timeOrLabel:*, suppressEvents:Boolean = true ):void
说明:相当于把播放头跳转到特定的时间点(或帧数)或标签,而且不会改变时间轴的暂停状态
参数 :timeOrLable:要跳转到的秒数(或帧数)或标签
suppressEvents:如果为true,则播放头到达任何位置都不引起onComplete、onUpdate等事件的触发
gotoAndPlay( timeOrLabel:*, suppressEvents:Boolean = true ):void
说明:把播放头跳转到指定的地方并从那里播放
参数:timeOrLable:要跳转到的秒数(或帧数)或标签
suppressEvents:如果为true,则播放头到达任何位置都不引起onComplete、onUpdate等事件的触发
gotoAndStop( timeOrLabel:*, suppressEvents:Boolean = true ):void
说明:把播放头跳转到指定的地方并暂停时间轴
参数:timeOrLable:要跳转到的秒数(或帧数)或标签
suppressEvents:如果为true,则播放头到达任何位置都不引起onComplete、onUpdate等事件的触发
stop():void
说明:暂停动画,应该不是停止
getChildren( nested:Boolean = true, tweens:Boolean = true, timelines:Boolean = true, ignoreBeforeTime:Number = -9999999999 ):Array
说明:可以获取时间轴内的所有动画和时间轴实例,包括嵌套的
参数:nested:如果为true,则嵌套的动画实例或时间轴实例也会包括在内,否则只会包括最顶层的
tweens:如果为true,则会包括动画实例
timelines:如果为true,则会包括时间轴实例
ignoreBeforeTime: 开始时间少于这个数的动画或时间轴是例会被忽略
getLableTime( label:String ):Number
说明:返回标签的时间点,如果标签不存在则返回-1
参数:lable:目标标签名称
getTweensOf( target:Object, nested:Boolean = true ):Array
说明: 返回特定物体上的动画实例
参数:target:目标物体
nested:如果为true,则动画中嵌套的时间轴实例也会返回
killTweensOf( target:Object, nested:Boolean = true, vars:Object = null ):Boolean
说明:删除某个物体上的一个或多个动画
参数:target:目标物体
nested:是否影响到嵌套的动画
vars:指明要删除的动画属性,如{alpha:true,x:true},如果省略该参数,则所有动画属性都会删除
remove( tween:TweenCore, skipDisable:Boolean = false ):void
说明:从时间轴上移除一个TweenLite, TweenMax, TimelineLite, or TimelineMax实例
参数:tween:要移除的TweenLite, TweenMax, TimelineLite, or TimelineMax实例
skipDisable:一般不要去改变,保留它的默认值即可,是什么意义我也看不明白
clear( tweens:Array = null ):void
说明:用来清空时间轴上的所有动画和时间轴实例,如果传入一个数组参数,则可以删除特定的动画
参数:tweens:要删除的动画组成的数组
shiftChildren( amount:Number, adjustLabels:Boolean = false, ignoreBeforeTime:Number = 0 ):void
说明:把时间轴中的所有动画的开始时间向后推一定的时间,以留出一定的空间
参数:amount:要延长的秒数(或帧数)
adjustLabels:如果true则时间轴上的lable也会相应调整
ignoreBeforeTime:所有在这个在这个时间或这个时间之后开始的动画的开始时间都会向后推
invalidate()