こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

読み込んだswf

「A.swf にB1.swfを読み込み、読み込んだB1.swf内のボタンAをクリックすると、インスタンスAが現れる。もう一度ボタンAを押すとインスタンスが消える。」というものを作りました。ですが、
A.swfにB1.swfを読み込むと、ボタンAをクリックしインスタンスAが現れたり消えたりという動作が全く行われなくなってしまいます。B1.swf単体で開いて見ると動作は全く問題ありません。
インスタンスAの現れたり消えたりというのは、_visibleで行っています。_visibleが問題なのかと思い、リンケージ名を付けてattachMovieで読み込むように作り直して見たりもしたのですが、attachMovieでも同じような感じになってしまいました。

どのようにすれば問題解決できるのか分からずに困っています。
アドバイスやご助言をいただけたらと思います。
よろしくお願いします。

投稿日時 - 2009-01-25 09:08:14

QNo.4658963

暇なときに回答ください

質問者が選んだベストアンサー

現物を見るわけにも行きませんから何とも言えませんが。

「A.swf」も「B.swf」もご自身で作成されものであり,
なおかつ,同じFlash PlayerのバージョンのSWFにパブリッシュされたものであり,
なおかつ,同じ言語設定(ActionScript1.0 とか 2.0 とか 3.0 とか)でパブリッシュされたSWFであるとするなら,
たいていの場合は「ターゲットパスのズレ」が原因だと思います。

「A.swf」に「B.swf」がロードされたとたん,
「B.swf」に書いた「_root」は,「A.swf」の「_root」になりますからね。
「A.swf」中の「B.swf」は SWF ではなく,単なる1つのムービークリップ扱いになります。

お持ちの Flash のバージョンがわかりませんが,
Flash MX 2004 以上(MX 2004系,8系,CS3,CS4)をお持ちで,
なおかつ Flash Player 7 以上の SWF をパブリッシュしても良いものでしたら,
「B.swf」の _root の フレーム1 の最初の行に,

this._lockroot = true;

と書けば解決するかもしれません。


Flash CS3 ドキュメンテーション
ActionScript 2.0 リファレンスガイド
_lockroot (MovieClip._lockroot プロパティ)
http://livedocs.adobe.com/flash/9.0_jp/main/00001937.html

投稿日時 - 2009-01-25 15:50:48

お礼

書き込みありがとうございます。

できました。(^0^)
説明不足の部分までフォローいただきありがとうございます。

ありがとうございました。大変助かりました。

投稿日時 - 2009-01-25 16:08:57

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問