loadVariablesNumでサーバからデータを取得
[loadVariablesNum][サーバ通信][ダイナミックテキスト][Flash Lite2.0]
読み込めるファイルは,swfを設置するサーバと同一ドメインであること。
(ドメイン間のデータロードもできるようだが,未調査)
・ダイナミックテキストを用意して,インスタンス名は
show_txt ・このshow_txtの変数名は
text1loadVariablesNumについて
・ムービーのレベルで変数に読み込むことができる
・ムービーには読み込みレベルがあり,0が最小値。最大値は無い。_level0(レベル0)は,読み込むミービー自体のレベル。
Adobeサイトより引用(一部改変):
テキストファイルや、CGI スクリプト、ASP、PHPなどで作成されたテキストなどの外部ファイルからデータを読み取り、Flash Player の特定のレベルの変数に値を設定します。この関数を使用して、現在の SWF ファイルの変数を新しい値で更新することもできます。
指定された URL にあるテキストは、標準の MIME 形式 application/x-www-form-urlencoded (CGI スクリプトで使用される標準形式) である必要があります。変数はいくつでも指定できます。たとえば、次の例では複数の変数が定義されています。
company=Macromedia&address=601+Townsend&city=San+Francisco&zip=94103
//読み込むファイルのURLとファイル名を記述 //読み込むレベルを0に設定 loadVariablesNum("http://・・・・/testfile.txt", 0);
//Adobeのサンプル引用 //loadVariablesNumは読み込み完了を待たないので, //読み込み完了を検知するfunctionを用意 function checkParamsLoaded() {
//level0に読み込んだ最後の変数がセットされているかどうか if ( _level0.done == undefined) { //もし最後の変数が未定義なら,読み込みが完了していない trace("not yet."); } //最後の変数が読み込まれたら else { trace("finished loading. killing interval."); trace("-------------"); //レベル0に保持した変数をtraceするループ //i は変数名 for (i in _level0 ) { trace( i + ": "+ _level0[i] ); } trace("-+-+-+-+-+-+-------"); //読み込み完了したので,インターバルはクリアする clearInterval(param_interval); } }
//100ミリ秒ごとに,checkParamsLoadedを呼び出す var param_interval = setInterval(checkParamsLoaded, 100);
// //サーバに置くファイル名 testfile.txt //中身は, var1="hello"&var2="goodbye"&text1="HELLO LITE"&done="done"
|
もし,ダイナミックテキストの変数を使わないで,インスタンス名を使うなら以下の記述が必要。
//読み込んだデータのtext1の中身を表示する場合 show_txt.text = _level0.text1;
|
■参考
setInterval 関数loadVariablesNum 関数