こんにちは、なかわけです。
loadMovie()とsetMask()を同時に使う方法については、改めて
外部からswfを読み込んで同時にsetMask()でマスクする方法にまとめてあります!そちらを参考にしてください。
今日も仕事中に発見したことを忘れないうちに覚書。今日の発見はすごいです。
というか今までこの問題に遭遇しなかったのか不思議です。もしくは遭遇していて違う対処法をしていたのでしょうか。
いずれにせよ、今日の発見はなんとなくすごい。
FlashでloadMovie()関数を使うと、外部のswfやjpg画像などを読み込めます。
▼こんな感じ
myClip.loadMovie("画像のパス");
そうするとムービークリップ「myClip」に画像なりswfなりが読み込まれます。
でこのあとにmyClipにマスクをかけます。
▼こんな感じ
myClip.loadMovie("画像のパス"); myClip.setMask(maskClip名);
するとあら不思議。マスクかかりません!
これはいったい・・・・?
ちゃんとした答えはわかりませんが、いろいろ調べてみてなかわけ的には以下のように解釈しました。
[ なかわけの解釈 ]
loadMovie()は関数でsetMask()はメソッド。
loadMovie()関数を実行したあとでは、setMask()メソッドは有効にならない(設定が変更できない)。
はい。現象を確認しただけではなんの解決にもならないので、見つけた解決方法を以下に書いておきます。
[ 解決方法 ]
myClip.loadMovie("画像のパス", setMask(maskClip名);
Flashのヘルプを見ると、loadMovie()のパラメータには画像のパスと、ターゲットと、メソッドというのがあります。通常メソッドにはGETかPOSTが入るようですが、setMask()も同じメソッド扱いとなり受け付けてくれるようです。
なんとなく腑に落ちない感じはしますが、これでいけるようです。あー今日も勉強になった。