TweenMax.to的常用方法、属性

参考:http://news.9ria.com/2013/0613/27470.html

官方API:http://www.greensock.com/as/docs/tween/com/greensock/TweenMax.html


TweenMax - greensock

// ==========================================================

*** 添加一个显示对象到舞台并对该象进行简单的缓动,当移除后记得移除缓动
addChildAt(image,0);
// 添加Tween缓动同时注册移除事件
TweenMax.to(image,0.4,{y:image.y - 4,repeat:-1,yoyo:true});

image.addEventListener(Event.REMOVED_FROM_STAGE,onRemovedFromImage);

function onRemovedFromImage(e:Event):void
{
var image:DisplayObject = e.target as DisplayObject;
image.removeEventListener(Event.REMOVED_FROM_STAGE,onRemovedFromImage);
TweenMax.killTweensOf(image);
}

// ==========================================================

*一些常用方法
//---------------------------------------------
方法1. fromTo(target:Object,duration:Number,fromVars:Object,toVars:Object):TweenMax
    可用于对一个对象做多次缓动,有同样的初始值或者某些条件
stage.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
stage.addEventListener(MouseEvent.MOUSE_UP,onUp);

function onDown(e:MouseEvent):void
{                
    TweenMax.fromTo(tf,1,{tint:0x000000,repeat:5,overwrite:2,yoyo:true},{tint:0xFF0000,repeat:5,overwrite:1,yoyo:true});
}
function onUp(e:MouseEvent):void
{
    //TweenMax.killTweensOf(tf);
    TweenMax.fromTo(tf,1,{tint:0x000000,repeat:5,overwrite:2,yoyo:true},{tint:0xFF0000,repeat:5,overwrite:1,yoyo:true});
}

//---------------------------------------------
方法二.allTo(targets:Array,duration:Number,vars:Object,stagger:Number = 0, onCompleteAll:Function = null, onCompleteAllParams:Array = null):Array
    第四个参数表示间隔时间,最后两个是结束后的函数和函数参数/与TweenMax.to 不同的是,to的onComplete属性放在vars中,而allTo的单独作为参数,onCompleteAll是在targets中所有都完成后才执行/,同时返回的是TweenMax组成的数组
var targets:Array = [tf,tf2,tf3];
function onDown(e:MouseEvent):void
{
    TweenMax.allTo(targets,1 ,{tint:0xFF0000,repeat:5,overwrite:1,yoyo:true});
}

//---------------------------------------------
方法三.allFrom,
    有allTo就有对应的allFrom,与之类似,只是定义的是初始状态,缓动到当前状态。
    
//---------------------------------------------
方法四.allFromTo(targets:Array, duration:Number, fromVars:Object, toVars:Object, stagger:Number = 0, onCompleteAll:Function = null, onCompleteAllParams:Array = null):Array,与方法1对应,对多个对象进行操作

    
//---------------------------------------------
方法五.最常用的to(target:Object,duration:Number,vars:Object):TweenMax
    这是allTo的简化版,对一个对象进行操作,参数也很简明

***主要弄清vars中的属性个数及用法(29+17+10+20)
//---------------------------------------------
方法六.与to对应的TweenMax.from,定义了对象的初始状态,缓动到当前状态

//---------------------------------------------
方法七.delayedCall延迟执行函数
    TweenMax.delayedCall(delay:Number,onComplete:Function,onCompleteParams:Array = null,useFrames:Boolean = false):TweenMax
    此方法和as3的setTimeout很类似,//setTimeout(closure:Function, delay:Number, ... arguments):uint
    默认最后一个参数为false,则delay以时间秒表示。时间到了调用onComplete
    TweenMax.delayedCall(1, myFunction, ["param1", 2]);
    function myFunction(param1:String, param2:Number):void
    {
        trace("called myFunction and passed params: " + param1 + ", " + param2);
    }

//---------------------------------------------
方法八、九.getAllTweens():Array,返回正在运行的所有物体的TweenMax Object,
           getTweensOf(target:Object):Array;
           
//---------------------------------------------
方法十. isTweening(target:Object):Boolean
    判断对象是否在Tweening
    
//---------------------------------------------
清除,停止缓动
方法十一.killAll(complete:Boolean = false,tweens:Boolean = true,delayCalls:Boolean = true);
    三个参数:第一个是否等缓动结束后再清楚,默认直接立即停止,
              第二个表示清除所有缓动
              第三个表示清除所有的延迟调用的函数.
              
//---------------------------------------------
方法十二.killChildTweensOf(parentisplayObjectContainer, complete:Boolean = false):void
    清除对象的所有子对象的缓动,complete默认为立即清除,不等结束后.
    
//---------------------------------------------
方法十三.killProperties,清除某个属性,注意此方法不是静态方法。
    stage.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
    var tween:TweenMax = new TweenMax(tf,4,{x:500,y:500});
    function onDown(e:MouseEvent):void
    {
        tween.killProperties(['x']);
    }
    
//---------------------------------------------
方法十四.updateTo(vars:Object,resetDuration:Boolean = false),清除某个属性,注意此方法不是静态方法。
        第一个参数是新的缓动目标值,第二个表示是否重置时间即重新开始计算时间或者在剩下的时间内完成
    stage.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
    var tween:TweenMax = new TweenMax(tf,4,{x:500,y:500});
    function onDown(e:MouseEvent):void
    {
        tween.updateTo({x:0,y:0},false);
    }
    
//==========================================================================================

*2.第三个参数的特有属性(vars:Object)
    (1).delay:Number 延迟开始的秒数.
    (2).useFrames:Boolean 当设置为true时,delay基于帧
    *(3).ease:Function 缓动方式,可以使用com.greensock.easing包中的函数。
    (4).easeParams:Array,有些ease需要参数进行额外控制
    (5).onInit:Function,初始化函数。在TweenMax开始前,所有参数还没传入vars时触发,可以用来初始化运动对象的状态
            var tween:TweenMax = new TweenMax(tf,2,{x:500,y:500});
            function func():void
            {
                tf.x = tf.y = 0;
            }
            function onDown(e:MouseEvent):void
            {
                //tween.updateTo({x:0,y:0},false);
                TweenMax.to(tf,2,{x:500,y:500,onInit:func});
            }
    (6).onInitParams:初始化函数参数.
    (7).onStart:Function.开始函数,与初始化函数不同,这是在开始(传入值之后)才执行,可以被触发多次
    (8).onStartParams:Array
    (9).onUpdate:Function.更新函数,每次vars数值更新的时候触发
    (10).onUpdateParams:Array
    *(11).onComplete:Function 完成函数,当vars完成时触发
    (12).onCompleteParams:Array 完成函数参数.
    (13).onRepeat:Function.重放函数,设置repeat次数,每次重放时调用
    (14).onRepeatParams:Array
    (15).pause:Boolean,设置暂停
    (16).overwrite:int 覆盖处理
        0:不做任何处理
        1:当前的vars属性具有最高优先级,会覆盖掉同个对象前面的所有,不管是否冲突
        2:在新的vars第一次渲染的时候会覆盖掉与前面重复的属性。
        3:与1相似,但是只覆盖掉正在运行的属性
        。。。
    (17).repeat:int 循环次数,-1为无限循环。
    (18).repeatDelay:Number.循环延迟时间
    (19).yoyo:Boolean,设置往返运动1--2--1--2--1,与repeat同时设置
    (20).startAt:Object,重设初始值.一般是用当前的值作为初始值继续缓动,但是可以通过这个来改变重新开始的参数
        TweenMax.to(tf,2,{tint:0xff0000,repeat:3,yoyo:true});
        stage.addEventListener(MouseEvent.MOUSE_DOWN,onDown);

        function onDown(e:MouseEvent):void
        {
            TweenMax.to(tf,2,{tint:0xff0000,repeat:3,yoyo:true,startAt:{tint:0x000000}});
        }
    (24)onStartListener : Function:注册一个TweenEvent的监听,跟开始函数在同一时刻派发。
            和前面的onStart差不多,可以从参数中获取到一些信息
            TweenMax.to(tf,1,{onStartListener:function(e:TweenEvent}:void{})

    (25)onUpdateListener : Function:注册一个TweenEvent的监听,跟更新函数在同一时刻派发。

    (26)onCompleteListener : Function:注册一个TweenEvent的监听,跟完成函数在同一时刻派发。

    (27)onReverseCompleteListener : Function:注册一个TweenEvent的监听,跟回放完成函数在同一时刻派发。

    (28)onRepeatListener : Function:注册一个TweenEvent的监听,跟重放函数在同一时刻派发。
    
// ==============================================================
*3.Plugin
    1.autoAlpha:与alpha差不多,只是在alpha = 0的时候可以自动设置visible =false
    2.visible:Boolean
    3.tint:Number,颜色
    4.volume:Number,缓动音量。前提是该对象支持。比如MovieClip
    ? 5.removeTint:Boolean
    6.frame:Number. 当对象是Movieclip时,缓动内部帧
    7.bezier:Array
    8.bezierThrough
    9.shortRotation:Object 短旋转,哪边快往哪边
    以及一些滤镜。
    参考官方文档实例
// ==========================================================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值