メイン コーダーズルーム【スクリプト系】 loadMovieでの変数渡しについて | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ishikawa7 | Åê¹ÆNo.2462 投稿日時: 2003-12-24 13:00 |
新米 居住地: 投稿: 4
使用環境:
Windows2000 SP4 FlashMX 2004 Pro |
loadMovieでの変数渡しについて 初めて投稿いたします石川奈々恵と申します。
宜しくお願い致します。 現在、呼び元swf(main.swf)から変数の値渡しで呼び先のswf(sub.swf)を表示するという処理を行なおうとしております。 main.swfには、disp_mcというムービークリップが貼ってあり、 そこにsub.swfを表示しようとしています。 loadMovie("sub.swf?id=1", _root.disp_mc); ここで問題が発生しているのですが、loadMovie()で、 loadMovie("sub.swf?id=1", _root); のようにメインのルートにムービーをロードした場合は、 sub.swfに値が渡るのですが、 _rootに貼ってあるムービークリップにsub.swfをロードした場合 値が渡りません。 メインから、渡った変数によってsub.swfに表示する内容を変えて、指定した位置に表示したいので、先に書いた loadMovie("sub.swf?id=1", _root.disp_mc); のような使い方をしたいのですが、これは不可能なのでしょうか? それとも、何かとても根本的なところで、loadMovieの使い方が、 間違っているのでしょうか? 過去ログも捜したのですが、それらしい話題が見つかりませんでした。 どなたかご教授いただければ幸いです。 宜しくお願い致します。 環境: Windows2000 SP4 FlashMX 2004 Pro |
c-geru | Åê¹ÆNo.2464 投稿日時: 2003-12-24 13:31 |
職人 居住地: 文京区本郷 投稿: 209
使用環境:
10.6.8+ CS5.5 Win7+ CS4 |
Re: loadMovieでの変数渡しについて 小川です。石川さん、こんにちは。
引用: ここで問題が発生しているのですが、loadMovie()で、loadMovie("sub.swf?id=1", _root);のようにメインのルートにムービーをロードした場合は、sub.swfに値が渡るのですが、_rootに貼ってあるムービークリップにsub.swfをロードした場合値が渡りません。 ムービークリップにloadMovieする場合は、スクリプトで設定された変数等はクリアされてしまうので、「?id=1」はloadMovie自体にクリアされてしまうのではないでしょうか? 方法としては・・・ ・変数「id」を呼び出し元の_rootに作っておいて、sub.swfからは「_root.id1」で参照する。 ・sub.swfのロード完了を確認してから、変数「id」を渡す。 といった感じでしょうか。 ロード完了については、以下のスレッドが参考になるかもしれません。 323.loadMovieで読み込まれたswfの変数を参照 どうでしょうか。 |
野中文雄 | Åê¹ÆNo.2465 投稿日時: 2003-12-24 14:00 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: loadMovieでの変数渡しについて 値が渡らないことは、どのように確認されていますか?
sub.swf内で_root.idを参照していると、外部読込みされた場合には、ロード元のタイムラインが_rootになります。また、渡された変数値によりフレーム移動するという場合ですと、ロードの完了を待たなければ移動できません。結果として、処理は無視されることになります。 試してみたかぎりでは、問題なく変数が渡っています。 引用: 石川奈々恵さんは書きました: ただ、MovieClipをターゲットとしてロードする場合には、読込み待ちさえすれば自由に変数が設定できるので、クエリーストリングを使用することはあまり一般的ではないと思います。 引用: loadMovie("sub.swf?id=1", _root.disp_mc); |
ishikawa7 | Åê¹ÆNo.2466 投稿日時: 2003-12-24 14:30 |
新米 居住地: 投稿: 4
使用環境:
Windows2000 SP4 FlashMX 2004 Pro |
Re: loadMovieでの変数渡しについて 石川です。
小川様、野中様、ご返信ありがとうございます。 お二方のご指摘で、原因がわかりました。 sub.swf側の処理で、_root.idという参照をしていました。 したがって、main.swfの_rootにsub.swfをロードした際は、 たまたま変数の階層が合っていただけという事でした。 実際にloadMovieで呼んだ時には、メインのルートにある変数だと 認識されてしまっていたのですね。 引用:
値が渡らない事の確認方法としては、sub.swf内で、適当なテキストボックスに、 txtbox.text = _root.id; という形で、値を表示させて確認していました。 それで、mainの_rootにロードした際は、きちんと値テキストボックス内に 表示されていたので、なんでだろう?という事になったのでした。 とりあえずmain内に_root.idを作り、 sub側から、_root.idを参照する事で解決しました。 ムービーの完了待ちについてなども大変勉強になりました。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |