您可以使用 ActionScript (例如 Tween 類別) 讓濾鏡在執行時期變成動畫, 為 Flash 應用程式增添有趣的動畫特效。下面的範例說明如何將模糊 (Blur) 濾鏡與 Tween 類別結合, 在執行時期將模糊濾鏡的值改為 0 到 10 之間的值, 創造出動畫模糊效果。
若要使用 Tween 類別製作模糊動畫:
將下面的 ActionScript 加入時間軸的畫格 1 (Frame 1) :
import flash.filters.BlurFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*;
this.createEmptyMovieClip("holder_mc", 10);
holder_mc.createEmptyMovieClip("img_mc", 20);
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
target_mc._x = (Stage.width - target_mc._width) / 2;
target_mc._y = (Stage.height - target_mc._height) / 2;
var myTween:Tween = new Tween(target_mc, "blur", Strong.easeInOut, 0, 20, 3, true);
myTween.onMotionChanged = function() {
target_mc._parent.filters = [new BlurFilter(target_mc.blur, target_mc.blur, 1) ];
};
myTween.onMotionFinished = function() {
myTween.yoyo();
}
};
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.addListener(mclListener);
my_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", holder_mc.img_mc);
上面的程式碼分為三個區段: 第一個區段會匯入必要的類別與套件。第二個區段會建立內嵌影片, 用來載入影像並將濾鏡套用到容器影片。最後一個區段則會建立新的 MovieClipLoader 執行個體及影片載入器的聆聽器。
聆聽器物件會定義一個單一的事件處理器函數 onLoadInit, 一旦影像成功載入並準備出現在舞台上時, 這個函數便會啟動。影像一開始會先重新置於舞台中央, 然後建立新的 Tween 物件, 用以移動影片並套用值為 0 到 10 的模糊濾鏡。
選取「控制 (Control)」›「測試影片 (Test Movie)」, 以測試 Flash 文件。圖 23 顯示最後的成果。
圖 23. 使用 Tween 類別來決定目標影像的模糊效果
若需濾鏡與 ActionScript 的資訊, 請參閱下列資源: