【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください

flash及びactionscript初心者です。

phpとflashを連携させサイトを作成しているのですが、
flashでGETで値を渡し、その値を使い、
そのflash内で表示させている外部txtファイルの名前に置き換えたいのです。

this.loadVariables("/pref_id/info.txt");

↑のpref_idの部分をflashで渡した値(例えば001等)で表示させたいのですが、可能でしょうか?
宜しければご教授お願いいたします。

環境は
FLASH8
WinXPです。
よろしくお願いいたします。

A 回答 (3件)

ちょっと説明を省略してしまいました



まずタグは
<param name="FlashVars" value="pref_id=001" />
<embed FlashVars="pref_id=001" />
のような感じになります
正しくは以下を参考に
http://livedocs.adobe.com/flash/8_jp/main/wwhelp …


そうするとFLASH内の_root(_level0)にpref_idという変数が自動的に出来るので
読み込むところで
trace('Load Text: /' + _level0.pref_id + '/info.txt');
this.loadVariables('/' + _level0.pref_id + '/info.txt');

で大丈夫だと思います。
traceはなくてもいいですが、動作チェックに…
    • good
    • 0
この回答へのお礼

mr_araki様

ご回答ありがとうございます!
出来ました!!
本当に感謝感激です!!
ご丁寧に教えてくださってありがとうございます!!

お礼日時:2007/12/06 16:19

FLASHタグを記述するHTMLはPHPで動的に作成されていますか?


されているのであれば、
PHPからGET値を取得して、
FLASHタグを書き出すところでFlashVarsにpref_idを動的に指定する

されていない場合は
index.html?pref_id=001
のようなURLにして、
JavascriptでGET値を取得
FLASHのタグもJavascriptで書き出し、その際に取得したGET値を同じくFlashVarsに指定する。

もしかしたら、完全に勘違いしているのかも…

いづれにしても、何らかの方法でFLASHを含んでいるページに値を渡し(上記の場合はGET)、それをPHPもしくはJavascriptでFlashVarsに渡せればOKだと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
大変お恥ずかしいですが、勘違いしておりました…。
申し訳ございません。

最初に回答してくださった1の方法で試しているのですが、
HTMLを動的に作成し、
<param name="FlashVars" value="pref_id=001" />
<embed name="FlashVars" value="pref_id=001" />
001の部分がきちんと表示されるまでは成功したのですが、
肝心のtextファイルが読み込まれていないようです。
ダイナミックテキスト内に
var pref_id;
this.loadVariables("/pref_id/info.txt");
と書き込んだのですが、これだけでは足りないのでしょうか?
無知でお恥ずかしいですが、よろしくお願いいたします。

お礼日時:2007/12/05 15:48

読み込むテキストを動的に変更したいと思うのですが


以下が思いつく方法です

1.FlashVarsの利用
FLASHのHTMLタグにFlashVarsとして
<param name="FlashVars" value="pref_id=001" />
※embedタグにも同様に指定
のように指定すると、FLASH内で変数"pref_id"を001として使用できます

2.FLASH+GET
同じくHTMLタグのFLASHファイルへのパスを
<param name="movie" value="main.swf?pref_id=001" />
※embedタグにも同様に指定
のように指定し、FLASH内の"_url"変数からそのURLを取得・解析しGET値を取得。
解析方法は"javascript get"等で検索するとjavascriptでのやり方が見つかるので、それを参考にactionscriptバージョンを作成。

3.PHP経由でテキストを読み込む
FLASH内から
this.loadVariables("/info.php?pref_id=001");
のようにテキストではなくPHPファイルを読み込み、
PHPの方でGET値を取得して、readfile関数などで該当テキストの中身を出力する。


ってな感じです!
※3番はちょっと違うかな…?

自分だったら1番の方法を使用します
    • good
    • 0
この回答へのお礼

mr_araki様
大変丁寧なご回答誠にありがとうございます。
しかし私の説明不足でしたが、pref_idの部分を動的に変更させたいのです。

■現在作成中flashの流れ
メニュー:東京

クリックしpref_idを渡す
scriptの中身↓
on (release) {
var my_lv: LoadVars = new LoadVars();
my_lv.type="005";
my_lv.send("testtest.php?prefid=005", "_self","GET");
}

東京のページが表示される
※この時にサーバのディレクトリに格納されている外部txtファイルを読み込む。
pref_idの値がディレクトリ名になるので、その部分を動的に変更したいのです。そして47都道府県それぞれ別のページがあるのですがそれを一つのswfとhtmlで表現したいのです。

mr_araki様の3種類のやり方ではpref_idが固定又はhtmlかswfを47つ作らなければいけなくなると思うのですが…私の勘違いだったら申し訳ないです。

度々お手数ですが、ご回答お待ちしております。

お礼日時:2007/12/05 13:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報