フィルタをスクリプトから
—————————————————————————
//メインタイムライン:フレームアクション
//インスタンスの作成
var newCharacter:MovieClip = new Character();
//プロパティの設定
newCharacter.x = 275;
newCharacter.y = 200;
//表示
addChild(newCharacter);
var blurObj:BlurFilter = new BlurFilter();
blurObj.blurX = 100;
blurObj.blurY = 100;
newCharacter.filters = [blurObj]; //フィルタを当てる
newCharacter.addEventListener(Event.ENTER_FRAME,xEnter); // 徐々に戻す
function xEnter(evt:Event):void{
blurObj.blurX -= 10;
blurObj.blurY -= 10;
if(blurObj.blurX <= 0) { //戻ったら削除
newCharacter.filters = null;
newCharacter.removeEventListener(Event.ENTER_FRAME,xEnter);
}else{
newCharacter.filters = [blurObj];
}
}
——————————————————————————————
フィルタ処理を関数などにした場合でも、処理が終わった場合は変数も空にする
//ポストカードムービークリップenterFrameイベント用(ブラーアニメーション開始)
function xBlurEnterFrame(evt:Event):void {
var pc_mc:MovieClip = evt.target as MovieClip;
var blur:BlurFilter = pc_mc.filters[0];
blur.blurX -= BLUR_STEP; //一度変数にしてからもう一度再設定すること
if (blur.blurX <= 0){
//フィルタ削除
pc_mc.filters = [];
pc_mc.removeEventListener(Event.ENTER_FRAME, xBlurEnterFrame);
}else{
//フィルタ更新
pc_mc.filters = [blur];
}
}