AS3勉強 フィルタ

フィルタをスクリプトから

—————————————————————————

//メインタイムライン:フレームアクション
//インスタンスの作成
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];
}
}