利用Tween类做缓动效果

利用Tween类可以方便的实现影片剪辑的移动位置,改变大小,淡入淡出等效果.

先看看这个效果

效果展示

在这个例子中,你可以点击顺时针和逆时针按钮观看转动效果,这个效果就是利用Tween类实现的.

代码分析

AS Code
stop ();
import mx.transitions.Tween;
function startTween (_s:Number, _e:Number)
{
	l_btn.enabled = r_btn.enabled = false;
	var myTween:Tween = new Tween (circle_mc, "_rotation"mx.transitions.easing.Elastic.easeOut, _s, _e, 3, true);
	myTween.onMotionFinished = function ()
	{
		l_btn.enabled = r_btn.enabled = true;
	};
}
var clickObj:Object = new Object ();
clickObj.click = function (evtObj:Object)
{
	if (evtObj.target == l_btn)
	{
		startTween (circle_mc._rotation, circle_mc._rotation - 40);
	}
	else
	{
		startTween (circle_mc._rotation, circle_mc._rotation + 40);
	}
};
l_btn.addEventListener ("click", clickObj);
r_btn.addEventListener ("click", clickObj);

这里是利用Tween类改变圆的_rotation属性,每次旋转40度.缓动效果是Elastic的easeOut,也就是在过渡的结尾提供缓动效果.还有其他的效果可以使用,具体查看Flash帮助.

源文件下载

  1. FLA文件:tweens.fla
  2. SWF文件:tweens.swf