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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章