TransitionManager类

先介绍下什么是TransitionManager类。这个类是安装Flash Professional 8后附带的,就是只要安装FLASH专业版后,就可以使用这个默认写好的类,其功能主要是为影片剪辑增加一些缓动效果,比如最简单的渐隐渐出。可以通过下面的FLASH预览看到这十种效果。

关于TransitionManager类的详细介绍:Flash 包含十种过渡效果,您可以将这些效果应用于影片剪辑对象。所有过渡均可以通过包括可选的缓动方法进行自定义,并且大多数过渡接受使用多个可选参数以控制其效果的特定方面。"缓动"是指动画过程中的渐进加速或减速,它会使您的动画看起来更逼真。例如,一个球在刚开始运动阶段是以加速形式运动的,在接近停止到完全停止阶段是以减速形式运动的。关于此加速和减速有许多公式,它们可以对缓动动画进行更改。您可以使用 TransitionManager 来指定过渡并将其应用于影片剪辑对象,而不是直接调用过渡。

这个教程将学习如何运用 AS 3.0的 TransitionManager类制作动画。

演示:


TransitionManager 类让你应用不同的动画效果到影片剪辑。整体来说,有十个不同的动画可以用。这些是:遮帘过渡、淡化过渡、飞行过渡、光圈过渡、相片过渡, 像素溶解过渡,挤压过渡、旋转过渡、划入/划出和缩放过渡。

1、新Flash文件,设置宽、高为:700 × 400 ,背景颜色任意。

2、导入一张 100 × 100的图片到舞台。

3、右键单击图片,转换成影片剪辑。命名为 " box " 设定注册点到中心。图1:
 
4、选中box,按住Ctrl键拖动进行复制操作,复制出10个影片剪辑。图2:
 
5、在属性面板中分别为实例命名 “box1″, “box2″, box3″, … , “box10″。图3:
 
6、新建as层,选中第1帧,打开动作面板,输入代码:

以下为引用的内容:


//We need for the animations

import fl.transitions.*;

import fl.transitions.easing.*;

 

//This array will store all the transitions

var transitions:Array = new Array();

 

//Add MOUSE_OVER handlers to each box

box1.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

box2.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

box3.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

box4.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

box5.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

box6.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

box7.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

box8.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

box9.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

box10.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

 

//Assign a different transition to each box

box1.transition = Blinds;

box2.transition = Fade;

box3.transition = Fly;

box4.transition = Iris;

box5.transition = Photo;

box6.transition = Rotate;

box7.transition = Squeeze;

box8.transition = Wipe;

box9.transition = PixelDissolve;

box10.transition = Zoom;

 

//This function is called everytime the mouse moves over a box

function mouseOverBox (e:Event):void {

 

        //Store the selected box in a local variable

        var selectedBox:MovieClip = MovieClip(e.target);

 

        //Remove the event listener (the user can’t stop the animation once started)

        selectedBox.removeEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

 

        /* 

        Start a new transition with the following parametes

        type: We use a transition type that is defined for each box

        direction: The direction of the animation (Transition.OUT is the second option)

        duration: Duration of the animation in seconds

        easing: The type of easing applied to the animation

        shape: A mask shape. Applies only when using the "Iris" transition

        */

        var myTransitionManager:TransitionManager = new TransitionManager(selectedBox);

        myTransitionManager.startTransition ({type:selectedBox.transition, 

         direction:Transition.IN, duration:1, easing:Regular.easeOut, shape:Iris.CIRCLE});

 

        //Add the transition to an array, so it won’t get garbage collected

        transitions.push(myTransitionManager);

 

        //Add a listener that calls the function animationComplete, when the animation is finished

        myTransitionManager.addEventListener ("allTransitionsInDone", animationComplete);

 

}

 

//This function is called when a box animation is complete

function animationComplete (e:Event):void {

 

        //Start listening for the MOUSE_OVER again

        e.target.content.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值