GreenSock动画平台学习笔记(二)TweenMax

 

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:如果为真,所有暂停的延迟函数都会继续

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很多制作flash的人摒弃flash自带的Tween缓动类,而是采用功能更加强大的第三方缓动类,其中用的最多是TweenMax类,这就不得不提greensock官方网站,这个网站是我迄今为止看到提供教程资料最全最直观的缓动类,flash演示文件可以直接显示出代码书写方法并且直观的查看效果,很适合初学者学习使用。 官方网站只提供免费的资源,其它更高级的功能都是收费的,以下是我在几个外国网站收集整理的收费插件,其中整理出的有: 1.舞台布局插件,它的强大在于你再也不用设置舞台尺寸侦听设置每一个元件的位置,一行代码解决问题; 2.变形操作,有点像PS里的变形操作,暂时还不知的应用到什么项目,不过功能很强; 3.动态文本操作,这个功能是我一直期待的,以前一直想用代码操作动态文本里所有字出现的特效,而不用在一个字一个字的去操作,没想到用这个插件实现了,官方提供了3种字出现时的特效,文本里的字出现的效果都是不一样的,若自己的代码编写能力强,可以扩展思维,写一个更强的效果。 现在第三方动画类都出了时间动画的功能,可以用代码直接代替时间轴了,这个是很值得研究的,可以大大提高项目开发速度,建议多多研究包内的Timeline类。例如我的网站:http://www.flashme.cn/里面80%都是用程序控制元件编写动画了(打个小广告^_^),不过我这个网站用的是GTween缓动类,有小bug才决定学习greensockTweenMax类。 ------ 截止2011-6-19在网上搜集整理的greensock包类插件最新版本(仅是能找到的免费资源来说)。 demo 里的是官方演示文件,这几个插件你在官方网站是下不到啦,只能下载到他公布的免费插件,此插件的作者更新速度非常之快,你可以时时留意一下官方网站:http://www.greensock.com/ 至于免费开放的缓动类及演示文件,你可以关注一下官方网站,上面有很多演示及源文件。 layout布局类的值传递和官方演示文件写法有些差异,可能还不是最新的版本!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值