Think About it



Home > Blog

20071016

cacheAsBitmap(2)


マスクは便利な機能ですが、通常の使い方ではフィルタが
かかっていたり透明のマスクなどは効果が切れてしまいます。

■マスクをかける前


■マスクをかけた後(通常どおり)


■フィルタ「ぼかし」をかけたMCをマスクに


しかしそれも、cacheAsBitmapを使えば実現できます。

※要FlashPlayer8以上

マスクのかけてやり方はフレームにマスクレイヤーを作るのではなくて、
スクリプト、setMask()でかけてやります。
(でないと出来ません)

test_mc.setMask(mask_mc);

test_mc.cacheAsBitmap = true;
mask_mc.cacheAsBitmap = true;


この様に、双方をビットマップに変換してやると、ぼかし等のフィルタがかかっていたりしてもマスクをかける事ができます。



そのマスクを動かしてやっても問題ありません。



この事はヘルプにも書いてあるそうです。
(ちょっと感嘆の声を上げました)

アルファチャンネルマスクについて
アルファチャンネルマスクは、マスクとマスクされたムービークリップの両方でビットマップキャッシュが使用されている場合にサポートされます。



ちなみに、

フィルタ、キャッシュおよび MovieClip クラスの操作
ムービークリップに少なくとも 1 つのフィルタが適用されていれば、cacheAsBitmap プロパティが true となり、実行時にムービークリップがビットマップとしてキャッシュされます。



だ、そうです。

なら、フィルタをかけている方にはcacheAsBitmapをかけてやらなくても大丈夫という事でしょうか。

結果、こうなりました。


大丈夫、という事ですね。

参考:グラデーション・マスク - にゃあプロジェクト ウェブログ

Labels: ,

----------------------------------------------------------------------------------------------------