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 - Flash Player 7 ではビヘイビアが変更されました。

パラメータ

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 メソッド)


 

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

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