コメントの表示 | RSS フィード

loadVariables (MovieClip.loadVariables メソッド)

public loadVariables(url:String, [method:String]) : Void

外部ファイルからデータを読み取り、ムービークリップの変数の値を設定します。外部ファイルとして、Macromedia ColdFusion によって作成されたテキストファイル、CGI スクリプト、ASP (Active Server Page: アクティブサーバーページ)、PHP スクリプトのほか、適切に書式化されたテキストファイルを使用できます。ファイルには任意の数の変数を含むことができます。

また、loadVariables() メソッドを使用して、アクティブなムービークリップ内の変数の値を更新できます。

loadVariables() メソッドでは、URL のテキストが標準の MIME 形式:application/x-www-form-urlencoded (CGI スクリプト形式) である必要があります。

Flash Player 7 より前のバージョンの Player で SWF ファイルを実行している場合、url は、呼び出し元の SWF ファイルと同じスーパードメインに属している必要があります。スーパードメインは、ファイルの URL の一番左の要素を削除することによって派生されます。たとえば、www.someDomain.com に存在する SWF ファイルは、store.someDomain.com のデータソースからデータをロードできます。どちらのファイルも同じスーパードメイン someDomain.com に属しているからです。

Flash Player 7 以降で動作する SWF ファイルでは、url に、この呼び出しを発行する SWF ファイルと正確に同じドメインを使用する必要があります。たとえば、www.someDomain.com に存在する SWF ファイルは、www.someDomain.com に存在するソース以外からはデータをロードできません。異なるドメインからデータをロードするには、アクセス対象のデータソースをホストするサーバーにクロスドメインポリシーファイルを置く必要があります。

変数を特定のレベルにロードするには、loadVariables() の代わりに loadVariablesNum() を使用します。

サブクラスを作成することにより、MovieClip クラスのメソッドおよびイベントハンドラを拡張できます。

使用できるバージョン : ActionScript 1.0、Flash Player 5

パラメータ

url:String - ロードする変数がある外部ファイルの絶対 URL または相対 URL。呼び出し元の SWF ファイルが Web ブラウザで実行されている場合、url は SWF ファイルと同じドメインに属している必要があります。詳細については、次の説明を参照してください。

method:String (オプション) - 変数を送信するための HTTP メソッドを指定します。パラメータはストリング GET または POST である必要があります。送信する変数がない場合は、このパラメータを省略します。GET メソッドは、変数を URL の最後に追加します。このメソッドは、変数のデータ量が少ないときに使用します。POST メソッドは、別の HTTP ヘッダで変数を送信します。このメソッドは、変数のデータ量が多いときに使用します。

次の例では、テキストファイル params.txt の情報を、createEmptyMovieClip() を使用して作成されたムービークリップ target_mc にロードします。setInterval() 関数は、ロードの進捗状況をチェックする場合に使用します。このスクリプトは、params.txt ファイル内の done という名前の変数をチェックします。

this.createEmptyMovieClip("target_mc", this.getNextHighestDepth());
target_mc.loadVariables("params.txt");
function checkParamsLoaded() {
    if (target_mc.done == undefined) {
    trace("not yet.");
    } else {
    trace("finished loading. killing interval.");
    trace("-------------");
    for (i in target_mc) {
        trace(i+": "+target_mc[i]);
    }
    trace("-------------");
    clearInterval(param_interval);
    }
}
var param_interval = setInterval(checkParamsLoaded, 100);

params.txt ファイルには、次のテキストが含まれています。

var1="hello"&var2="goodbye"&done="done"

この例で使用されている MovieClip.getNextHighestDepth() メソッドには、Flash Player 7 以降が必要です。SWF ファイルにバージョン 2 のコンポーネントが含まれている場合は、MovieClip.getNextHighestDepth() メソッドの代わりに、バージョン 2 のコンポーネントの DepthManager クラスを使用します。

関連項目

loadMovie (MovieClip.loadMovie メソッド), loadVariablesNum 関数, unloadMovie (MovieClip.unloadMovie メソッド)


Comments


Fumio Nonaka が Oct 17, 2005 の 5:05 AM に追加:
外部テキストファイルの変数値にクォーテーション("や')を使うと、値に
クォーテーション記号が含まれてしまいます。

params.txtファイルのテキスト:

[誤]
var1="hello"&var2="goodbye"&done="done"

[正]
var1=hello&var2=goodbye&done=done

 

RSS フィード | このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/8_jp/main/00002480.html