外部から読み込んだJPGを内包したMovieClipにマスクを掛けようとすると突然
*** セキュリティ Sandbox 違反 ***
SecurityDomain ‘http://***_***.***.***/***/getDate.php’ が互換性のないコンテキスト ‘file:///E|/200704%5Fwow/dev/swf/c40.swf’ にアクセスを試みました。
みたいな警告がでる。ここで警告対象になっている”http://***_***.***.***/***/getDate.php”とかいうのは別にここでは使用していない外部CGIなんだけど、なんだろう?
ちなみに
—
iT.setMask(iMask);
//iT = 画像が読み込まれたMovieClip
//iMask = マスクのMovieClip
—
だとエラーが出る。これをコメントアウトすると警告は出ない。(しかし当然マスクもかからない)
—
iT._x = 5;
iMask._x = 100;
—
とか普通のアクセスでは問題ないらしい。
はて?
「セキュリティ Sandbox 違反」への1件の返信
どーもsetMaskというメソッドはマスクから対象となるMCに対してアクセスするわけではなく、逆らしい。つまりMCに含まれる外部から読み込まれたJPGがマスクに対してアクセスするという考え方のようだ。
なので、Flashの方に
System.security.allowDomain(“*”);
とかすると問題なく動作するようになった。
しかしアラートで表示されていた、関係ないPHPが何故表示されているのかはまったくもって不明だ。
これ前に別ドメインからLoadした画像をbitmap変換できないからproxyを経由させるみたいな話題があったがこれともしかして同じ問題だったんではなかろうか?とおもったけど、今それどころじゃないので後日。