メイン コーダーズルーム【スクリプト系】 loadMovieで読み込まれたswfの変数を参照 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
c-geru | Åê¹ÆNo.2044 投稿日時: 2003-12-10 15:53 |
職人 居住地: 文京区本郷 投稿: 209
使用環境:
10.6.8+ CS5.5 Win7+ CS4 |
loadMovieで読み込まれたswfの変数を参照 小川です。
元のswf(a.swf)の中にあるムービークリップ(mc1)に外部swf(b.swf)をロードして、 a.swfからb.swfの中にある変数(_root.val1)を参照しようとしています。 #_root.val1は1フレに定義。 onClipEvent(data)やgetBytesLoaded()でロード終了をチェックしていますが、 ロード終了時のタイミングでは、_root.val1は生成されていないため参照できません。 a.swfから_root.val1を参照するタイミングを判断する方法はあるでしょうか。現在可能だとわかっているのは・・・ ・_root.val1をダイナミックテキストでステージ上に配置すれば、ロード終了のタイミングで取得可能。 ・b.swfを2フレ以上にしておいて、_root.b._currentframe>1がtrueになるタイミングで取得可能。 の2つです。他にいい方法はあるでしょうか? #b.swf側でチェックすれば問題ないことはわかっているのですが、 #仕様の都合上できるだけb.swfに手を加えずに、どうにかする方法がないか・・・ #ということなのです。他になさそうな気もするのですが・・・。 よろしくお願いします。 |
c-geru | Åê¹ÆNo.2047 投稿日時: 2003-12-10 17:24 |
職人 居住地: 文京区本郷 投稿: 209
使用環境:
10.6.8+ CS5.5 Win7+ CS4 |
Re: loadMovieで読み込まれたswfの変数を参照 小川です。自己レスです。
引用: c-geruさんは書きました: あとはローディング後に「_root.val1 != undefined」のチェックを行って、生成されるまで待つ・・・ということですね。 たぶんこれぐらいでしょうか。 他にも方法があれば、ご意見よろしくお願いします。 |
youich | Åê¹ÆNo.2048 投稿日時: 2003-12-10 17:54 |
職人 居住地: kobe 投稿: 349
使用環境:
Tiger |
Re: loadMovieで読み込まれたswfの変数を参照 引用:
同じく監視系すけど、watchも使えるんじゃないでしょうか?
|
c-geru | Åê¹ÆNo.2126 投稿日時: 2003-12-13 5:53 |
職人 居住地: 文京区本郷 投稿: 209
使用環境:
10.6.8+ CS5.5 Win7+ CS4 |
Re: loadMovieで読み込まれたswfの変数を参照 小川です。
youichさん、ありがとうございます。 いろいろあって(^^;、返事遅くなりました。 引用: youichさんは書きました: watch知りませんでした・・・。 使えそうですね。 ただサンプルコードは動きませんでした。
「_root.watch」は「this.mc.watch」または「mc.watch」ではないんでしょうか。ただどちらでも動いてないんですが・・・。「_root.watch」とすると配下のMovieClip全てに適用されるということ???? watch自体は下記のようなスクリプトで動作確認しました。 なので変数が未定義なのが悪い・・・ということではないようですが。
|
youich | Åê¹ÆNo.2135 投稿日時: 2003-12-13 14:41 |
職人 居住地: kobe 投稿: 349
使用環境:
Tiger |
Re: loadMovieで読み込まれたswfの変数を参照 小川さん、どうもです?。
引用:
あ?っと、私読み違いしてたかもしれません、 b.swfの中は_root.val = 'xxx';としてるつもりでした。 ↓こういう感じです。 http://park10.wakwak.com/~suie/ab.zip _root.watch("val",function(){..}は _rootが自分のvalという変数の変化を監視しているという風に思ってます。
|
野中文雄 | Åê¹ÆNo.2136 投稿日時: 2003-12-13 15:11 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: loadMovieで読み込まれたswfの変数を参照 ご参考まで: [Object.watch]
引用: c-geruさんは書きました: もしかすると、こういうことですか?
だとすると、mc.val1に対するObject.watchの設定は、外部SWFのロードによりクリアされてしまうと思います。 引用: ただサンプルコードは動きませんでした。 |
c-geru | Åê¹ÆNo.2137 投稿日時: 2003-12-13 15:17 |
職人 居住地: 文京区本郷 投稿: 209
使用環境:
10.6.8+ CS5.5 Win7+ CS4 |
Re: loadMovieで読み込まれたswfの変数を参照 小川です。
youichさん、ありがとうございます〜。 引用: あ?っと、私読み違いしてたかもしれません、 サンプルありがとうございます。理解しました。 私のやりたかったのは、_rootが子のval(_root.b.val)という変数の変化を監視したい...ということでした。 あらかじめload用のMC(インスタンス名:cube)に・・・
としておいて、親側のフレームで・・・
としてやれば大丈夫でした。やはりonClipEvent()にしておかないと、loadMovie()されるタイミングでwatchが無効になっちゃうということなんですよね・・・。 |
c-geru | Åê¹ÆNo.2138 投稿日時: 2003-12-13 15:27 |
職人 居住地: 文京区本郷 投稿: 209
使用環境:
10.6.8+ CS5.5 Win7+ CS4 |
Re: loadMovieで読み込まれたswfの変数を参照 小川です。野中さん、どうもです〜。
引用:
そうです。まさにそのとおりです。 先日野中さんのポストをみていたんですが、watchはひょっとして大丈夫なのか・・・と思ってしまったもので。 もし使うならこの方法ってことですね。ありがとうございました。 |
youich | Åê¹ÆNo.2162 投稿日時: 2003-12-15 10:49 |
職人 居住地: kobe 投稿: 349
使用環境:
Tiger |
Re: loadMovieで読み込まれたswfの変数を参照 引用:
あ?なるほど、解りました。野中さんの想像どおりでしたね。 しかし、3人寄れば文殊の知恵とでもいいましょうか、 動くようになりましたね(^^; で、また私考えました、よりリスキーです。
|
c-geru | Åê¹ÆNo.2177 投稿日時: 2003-12-15 18:25 |
職人 居住地: 文京区本郷 投稿: 209
使用環境:
10.6.8+ CS5.5 Win7+ CS4 |
Re: loadMovieで読み込まれたswfの変数を参照 小川です。
引用: あ?なるほど、解りました。野中さんの想像どおりでしたね。 ありがとうございました>youichさん、野中さん 引用: で、また私考えました、よりリスキーです。 __proto__で定義したプロパティなら大丈夫なんですね。 これは・・・ 1.__proto__.addPropertyでvalプロパティを定義 2.b.swfがロードされると、b.swfのルートにあるvalの値で上書きされる。 3.valが上書きされたので、上記1.で定義されたsetFunc(function(x))が呼び出される。 ということですよね。 #prototype絡みはなかなか理解がしにくくて・・・ ちなみに「if(this._name=='mc')」と、インスタンス名をチェックしているのは何故ですか? この場合に限れば、自明ですよね(なくても動きました)。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |