flashMX2k4未公开的Tween/Earing类

2006-03-30 10:24:18

1、tween类 flash现在支持一些特殊的过渡(Tween/Easing)效果类,其用法如下: someTweenID = new mx.transitions.Tween(object, property, function, begin, end, duration, useSeconds) 参数说明如下: object :用来产生Tween效果的movieClip的引用名; property :一个字符串值,应用Tween效果的MovieClip属性名,比如"_x","_y","_alpha"等 function :调用的easing类 begin :数字,属性的初始值 end:数字,属性的末值 duration :过渡持续的桢数或者秒数 useSeconds :布尔值,说明duration的单位是帧(false)还是秒(true)。如果没有指定,默认值为false(帧) 2、easing类 MXk24支持16种easing效果(准确的说,应该是19种)。 6种easing类别: Strong Back Elastic Regular Bounce None 每一种包括4种easing类型 easeIn easeOut easeInOut easeNone None和easeNone只能和其他的类别/类型搭配。easing函数用法如下: mx.transitions.easing.Bounce.easeOut 3、showTime ,:) 现在,让我们将tween和easing结合起来实践一下。 假设stage上有一个名为ball_mc的movieClip,我们希望ball_mc水平运动,在半秒钟内从x坐标为20处运动到380处,并轻轻的弹跳两下。其写法如下: ballTween = new mx.transitions.Tween(ball_mc, "_x", mx.transitions.easing.Bounce.easeOut, 20, 380, .5, true); 更加规范的写法如下: function tweenBall() { easeType = mx.transitions.easing.Bounce.easeOut; var begin = 20; var end = 380; var time = .5; var mc = ball_mc; ballTween = new mx.transitions.Tween(mc, "_x", easeType, begin, end, time, true); } 下面的函数增加了一个参数:easing类型 function tweenBall(easeType) { var begin = 20; var end = 380; var time = 20; var mc = ball_mc; ballTween = new mx.transitions.Tween(mc, "_x", easeType, begin, end, time); } 调用的示例: tweenBall(mx.transitions.easing.Bounce.easeOut); 4、附加的技巧 Macromedia为tween类设置了一个事件:onMotionFinished,另外还有两个方法:yoyo() 和rewind()。 还是用例子来说明: function tweenBall(easeType) { var begin = 20; var end = 380; var time = 20; var mc = ball_mc; ballTween = new mx.transitions.Tween(mc, "_x", easeType, begin, end, time); ballTween2 = new mx.transitions.Tween(mc, "_y", easeType, begin, end, time); ballTween.onMotionFinished = function() { this.yoyo(); }; ballTween2.onMotionFinished = function() { this.yoyo(); }; }