TransitionManager

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

Flash 中包括以下过渡:
1.遮帘过渡 Blinds
--------使用逐渐消失或逐渐出现的矩形来显示影片剪辑对象。
(参数:numStrips,“遮帘”效果中的遮罩条纹数。建议的范围是1 到50。dimension,一个整数,指示遮帘条纹是垂直的(0) 还是水平的(1)。)

2.淡化过渡 Fade
--------淡入或淡出影片剪辑对象。
3.飞行过渡 Fly
--------从某一指定方向滑入影片剪辑对象。
(参数:startPoint,一个指示起始位置的整数;范围是1 到9;
左上1;上中2;右上3;左中4;中心5;右中6; 左下7;下中8;右下9。)
4.光圈过渡 Iris
--------使用可以缩放的方形或圆形动画遮罩来显示或隐藏影片剪辑对象。
(参数:startPoint,一个指示起始位置的整数,范围是1 到9:
左上1;上中2;右上3;左中4;中心5;右中6;左下7;下中8;右下9。
shape,值为Iris.SQUARE(方形)或Iris.CIRCLE(圆形)的遮罩形状。)
5.照片过渡 Photo
--------使影片剪辑对象像放映照片一样出现或消失。
6.像素溶解过渡 PixelDissolve
---------使用随机出现或消失的棋盘图案矩形来显示或隐藏影片剪辑对象。
(参数:xSections,一个整数,指示沿水平轴的遮罩矩形部分的数目。
建议的范围是1 到50。ySections,一个整数,指示沿垂直轴的遮罩矩形部分的数目。建议的范围是1 到50。)
7.旋转过渡 Rotate
-------
旋转影片剪辑对象。
(参数:ccw,一个布尔值:对于顺时针旋转为false ;对于逆时针旋转为true。degrees,一个整数,指示对象要旋转的度数。建议是范围是1 到9999)
8.挤压过渡 Squeeze
----------水平或垂直缩放影片剪辑对象。
(参数:dimension,一个整数,指示“挤压”效果应是水平的(0) 还是垂直的(1)   )
9.划入/划出过渡 Wipe
----------使用水平移动的动画遮罩形状来显示或隐藏影片剪辑对象。
(参数:startPoint,一个整数,指示开始位置。范围是1 到4 和6 到9:左上1 ;上中2 ;右上3 ;左中, 4 ;右中6 ;左下7 ;下中8 ;右下9)
10.缩放过渡 Zoom
-----------通过按比例缩放来放大或缩小影片剪辑对象。

   若要使用 TransitionManager 类的方法和属性,您可以在两种方法中选择一种来创建新实例。最简单的方法是调用 TransitionManager.start() 方法,只须调用一次,就可以创建新的 TransitionManager 实例、指定目标对象、用一种缓动方法应用过渡并启动过渡效果。以下代码使用 TransitionManager.start() 方法:

TransitionManager.start(myMovieClip_mc, {type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});

还可以通过使用 new 运算符来创建 TransitionManager 类的新实例。然后可以指定过渡属性,并通过调用 TransitionManager.startTransition() 方法在另一步中启动过渡效果。以下代码使用 TransitionManager.startTransition() 方法:

var myTransitionManager:TransitionManager = new TransitionManager(myMovieClip_mc);
myTransitionManager.startTransition({type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});

将缓动方法应用于组件

各种缓动方法的另一种用途是将它们应用到第2版组件。您只能将缓动方法应用到以下第2 版组件:Accordion、ComboBox、DataGrid、List、Menu 和Tree。每种组件都使用缓动方法进行不同的自定义。例如, Accordion、ComboBox 和Tree 组件使您能够选择缓动类来用于它们各自的打开和关闭动画。相比之下, Menu 组件只能使您定义动画持续的毫秒数。


Back     在过渡范围外的一端或两端扩展动画一次,以产生从其范围外回拉的效果。

Bounce   在过渡范围的一端或两端内添加弹跳效果。弹跳数与持续时间相关,持续时间越长,弹跳数越多。

Elastic    添加一端或两端超出过渡范围的弹性效果。弹性量不受持续时间影响。

Regular 在一端或两端添加较慢的运动。此功能使您能够添加加速效果、减速效果或这两种效果。

Strong   在一端或两端添加较慢的运动。此效果类似于Regular 缓动类,但它更明显。

None     添加从开始到结尾无任何减速或加速效果的相同的运动。此过渡也称为线性过渡。

 

easeIn    在过渡的开始提供缓动效果。
easeOut 在过渡的结尾提供缓动效果。
easeInOut 在过渡的开始和结尾提供缓动效果。
easeNone 指明不使用缓动计算。只在None 缓动类中提供

 

将缓动方法应用于Accordion 组件
import mx.core.View;
import mx.transitions.easing.*;
my_acc.createChild(View, "studio_view", {label:"Studio"});
my_acc.createChild(View, "dreamweaver_view", {label:"Dreamweaver"});
my_acc.createChild(View, "flash_view", {label:"Flash"});
my_acc.createChild(View, "coldfusion_view", {label:"ColdFusion"});
my_acc.createChild(View, "contribute_view", {label:"Contribute"});
my_acc.setStyle("openEasing", Bounce.easeOut);
my_acc.setStyle("openDuration", 3500);

这段代码导入缓动类,因此您可以键入Bounce.easeOut 而无需使用如
mx.transitions.easing.Bounce.easeOut 之类的完全限定名称来引用各类。然后,代码将五个新子窗格添加到Accordion 组件中(Studio、Dreamweaver、FlashColdFusion 和Contribute)。最后两行代码将缓动样式从默认缓动方法设置为Bounce.easeOut,然后将动画长度设置为3500 毫秒(3.5 秒)。


将缓动方法应用于ComboBox 组件
import mx.transitions.easing.*;
this.createClassObject(mx.controls.ComboBox, "my_cb", 20);
var product_array:Array = new Array("Studio", "Dreamweaver", "Flash","ColdFusion", "Contribute", "Breeze", "Director", "Flex");
my_cb.dataProvider = product_array;
my_cb.move(10, 10);
my_cb.setSize(140, 22);
my_cb.setStyle("openDuration", 2000);
my_cb.setStyle("openEasing", Elastic.easeOut);
var kk:mx.controls.ComboBox

 

对DataGrid 组件进行动画处理
import mx.transitions.easing.*;
my_dg.setSize(320, 240);
my_dg.addColumn("product");
my_dg.getColumnAt(0).width = 304;
my_dg.rowHeight = 60;
my_dg.addItem({product:"Studio"});
my_dg.addItem({product:"Dreamweaver"});
my_dg.addItem({product:"Flash"});
my_dg.setStyle("selectionEasing", Elastic.easeInOut);
my_dg.setStyle("selectionDuration", 1000);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值