AS3 Filter 削除の巻


夏やすみは〜やっぱり〜♪ by大江千里カワタです。

月末までのローンチラッシュというか、ヘビーな作業に追われてたのが、もう少しで一段落を迎える。そんなさなか、flash書きまくっていたら、ひとつドハマリ。as3でfilterをあてたシンボル(画像の方がわかりやすい)をゆっくりモーションすると、ガビガビになるわけだけど、filterのパラメーターをnullにしても、完全にはシンボルから消えないことがわかった。
[SWF]http://knap.jp/blog/swf/blur_test.swf, 425, 500[/SWF]

これは、tweenerでいったんドロップシャドウをかけたシンボルA(上)と、シンボルB(下)。これをゆっくり動かすと、Aのみカクカクしてしまう。Aはパラメーターをnullにしただけ。Bはというと、きちんとfilterを削除してから動かしてみた。その削除の仕方がこちら。

まとめて削除なら
シンボルB.filters = null;

いくつかつけたフィルターを、個別に削除する方法は
var tempFilters:Array = シンボルB.filters;
tempFilters.pop();
シンボルB.filters = tempFilters;

シンボルにつけたフィルタを配列に入れ込んで、そこから削除するらしい。
フィルタ操作の潜在的な問題

なんか面倒な仕様だな。。面倒なのは、tweenerかな?
tweenerで簡単に消すコマンドはないのかしら?

Scroll to top