您不指定该 file.txt 的内容是什么,也不指定它是否与 swf 本身位于同一文件夹中。但是,您应该始终考虑到,加载过程需要一些时间,因此您不应该期望该代码可以在远程服务器上工作(至少,不是第一次运行 swf 文件时)。如何确定文件在第 0 帧(onLoad 事件)之前加载?事实上你不能。在第二个脚本中,您稍后尝试访问数据,因此很可能数据已被加载。
因此,您必须找到一种方法来确保文件加载正常,并且您有两种方法可以做到这一点:使用 loadVars 类(推荐)或使用 file.txt 本身中的另一个变量并检查其值是否已定义或不。第二种方法的一个例子可能是:
文件 txt
&myVar=Hello World!!&
&yourVar=finally there!!&
&yourAge=24&
&loadedDone=1&
sw码:
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。
问候, cancrexo