0

Swishmax 4 を使用しており、フラッシュの外部 txt ファイルから変数をロードしたいと考えています。
変数をロードする動的テキストを作成しました。うまくいきましたが、変数をトレースしたいときにundefined valueを取得します。これが私のコードです:

file.txt

&cont=data

コード

onFrame (1) {
    this.loadVariables("file.txt");
    trace(cont); // i get an undefined value here
}

何をすればよいでしょうか?

4

2 に答える 2

0

その file.txt の内容や、swf 自体と同じフォルダーにあるかどうかは指定しません。ただし、読み込みプロセスには時間がかかることを常に考慮する必要があるため、そのコードがリモート サーバーで機能することを期待しないでください (少なくとも、swf ファイルを初めて実行するときはそうではありません)。ファイルがフレーム 0 (onLoad イベント) の直前にロードされたことを確認するにはどうすればよいですか? 実際、できません。2 番目のスクリプトでは、少し後でデータにアクセスしようとします。そのため、データがロードされている可能性が非常に高くなります。

そのため、ファイルが正常にロードされていることを確認する方法を見つける必要があり、これを行うにはいくつかの方法があります: loadVars クラスを使用する (推奨) か、file.txt 自体内で別の変数を使用して、その値が定義されているかどうかを確認しますか否か。2番目の方法の例は次のとおりです。

ファイルtxt

&myVar=Hello World!!&
&yourVar=finally there!!&
&yourAge=24&
&loadedDone=1&

コード:

onSelfEvent(load){
  this.loadVariables("file.txt");
}
onFrame(2){
  if(loadedDone!= 1)prevFrameAndPlay(); // Wait till the file is loaded
}
onFrame(3){!!
  // Once the data is loaded, display variable values!!
  trace(myVar);
  trace(yourVar);
  trace(yourAge);
}

しかし、この方法には、変数loadeDoneが定義されていないか、file.txt が存在しない場合、swi ファイルが無限ループに陥るという問題があります。そのため、loadVars クラスを試すか、この目的のために XML を使用することをお勧めします。

よろしく、カンクレクソ

于 2012-10-10T08:13:12.640 に答える
0

理由はよくわかりませんが、スクリプトをこれに変更すると、正しくデバッグされます

onSelfEvent (load) {
    this.loadVariables("file.txt");
}
onFrame (3) {
    trace(cont);
}
于 2012-10-09T10:14:11.157 に答える