Flashドキュメンテーション |
|||
| ActionScript 2.0 リファレンスガイド > ActionScript クラス > MovieClip > 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 メソッド)
RSS フィード | このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/8_jp/main/00002480.html
Comments
Fumio Nonaka が Oct 17, 2005 の 5:05 AM に追加: