その 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 を使用することをお勧めします。
よろしく、カンクレクソ