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