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

解決済みの質問

loadMovieで変数の中身を読み取る方法は?

再度質問させていただきます。

FlashVarsを使い、htmlにて
<param name="FlashVars" value="photo=abc.jpg">と記入し
swfに変数photo、値abc.jpgを送り、

flashのroot上に hyouzi というインスタンス名の空のMCを配置し、
同じくroot上にアクションスクリプトを、
hyouzi.loadMovie(photo);
と記入したのですが画像が表示されません。

変数photo内にあるabc.jpgを読み込んで欲しいのですがloadMovieは""で囲った文字列しか読み取れないのでしょうか?
かといって、"photo"としてしまうとphotoという文字列として認識してしまいますし。
どうすればよいのでしょうか?ご助言お願いします。

以下は参考にしたwebページアドレスです。
http://hfm-kenchan.com/Lesson/log_qa/D0611303.htm

投稿日時 - 2008-09-08 23:54:42

QNo.4314474

困ってます

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

書かれていらっしゃる通りのことをしてみましたが,「abc.jpg」は無事に表示されますよ。
念のための確認ですが,

・ ファイル構造

 任意のフォルダ
    ├○○.html(○○.swf を表示 FlashVars記入)
    ├○○.swf
    └abc.jpg

・ ○○.swf 内の階層構造

 _root
  └空のムービークリップ インスタンス名hyouzi

hyouzi が存在する _root のフレームに,
hyouzi.loadMovie(photo);
を書いてパブリッシュ

○○.html の <Object>~</Object>内に,
<param name="FlashVars" value="photo=abc.jpg">
を追加記入で保存。
○○.html をブラウザで開く。

こういうことですよね?
これだと無事に「abc.jpg」はロード表示されます。



FlashVars は FlashPlayer6 以降でサポートされた機能です。
お持ちの "ブラウザの" FlashPlayer が 5 以下である(そんなこと普通はあり得ませんが)だと無理です。

あと,もし SWF を貼り付けるのに <Embed> を使用されていましたら,
そっちの方にも書く方が無難です。

「FlashVars を使用して SWF へ変数を渡す」
http://support.adobe.co.jp/faq/faq/qadoc.sv?228618+002



====================

普通はテキストフィールドに変数名をつけることはしませんが(非推奨),
実験として _root に photo という "変数名" を付けたダイナミックテキストを用意してパブリッシュし,
FlashVars付きの HTML で開いてみたらどうなりますか?
FlashVars が正常にはたらいていれば,
ダイナミックテキストには 「abc.jpg」 という文字が表示されるはずです。


また別実験で,
スクリプトを次のように変更し,

photo = "abc.jpg";
hyouzi.loadMovie(photo);

「制御」→「ムービープレビュー」ではどうなりますか?
ちゃんと abc.jpg や hyouzi が存在していれば,
「abc.jpg」 が表示されるはずです。


あと,
バージョンを書かれていらっしゃらないのが少し気になりますが,
「abc.jpg」は普通のJPEG(非プログレッシブJPEG)ですか?
プログレッシブJPEG がロード表示できるようになったのは FlashPlayer8 以降で,
なおかつ FlashPlayer8 以上用の SWF をパブリッシュ しなければ表示されません。



思いつく原因と対処方法や実験方法はこれくらいです。

投稿日時 - 2008-09-09 05:45:24

お礼

回答ありがとうございます。
バージョン
Flash:CS3
FlashPlayer:9(パブリッシュ時も)です。
ActionScript2.0

希望する物はまさしく書かれているとおりです。
しかし、何故かどう作成しても表示することができませんでした。
<param name="FlashVars" value="photo=abc.jpg">のみでなく、 <Embed>があったのでそのタグ内に FlashVars="photo=abc.jpg" と記入したがやはり無理でした。

photo = "abc.jpg";
hyouzi.loadMovie(photo);
という変更では問題なく表示されたのですが、
ダイナミックテキストを用いた方では表示できませんでした。
なのでFlashVarsがうまく機能していないみたいです。
せっかく丁寧な回答をしていただいたのにうまく完成させることができませんでした。申し訳ないです。
回答ありがとうございました。

投稿日時 - 2008-09-10 02:14:11

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

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

回答(1)

あなたにオススメの質問