Flash ActionScript:将变量从文本文件加载到_root
我基本上是Flash ActionScript:将变量从文本文件加载到_root,flash,actionscript,loadvars,Flash,Actionscript,Loadvars,我基本上是ActionScript中的noob,我遇到了一个问题。我想将变量从文本文件加载到电影的\u根目录中。比如,文本文件包含&var=value&var2=value2&,我希望它们直接进入\u root,这样我就可以将它们称为\u root.var和\u root.var2。 首先,我尝试使用显而易见的解决方案,loadVariables。我通过以下函数完成了此操作: function getState (save){ //loadVariables("getstate.php?
ActionScript
中的noob,我遇到了一个问题。我想将变量从文本文件加载到电影的\u根目录中。比如,文本文件包含&var=value&var2=value2&
,我希望它们直接进入\u root
,这样我就可以将它们称为\u root.var
和\u root.var2
。
首先,我尝试使用显而易见的解决方案,loadVariables。我通过以下函数完成了此操作:
function getState (save){
//loadVariables("getstate.php?save="+save, "/");
loadVariables("state.txt, "/");
}
我试着将它加载到“\u root
”而不是“/
”,但仍然没有结果。请求被发送,但文本文件的内容在超空间中丢失,并在返回我的代码的过程中丢失
所以我试着用LoadVars代替loadVariables。这个函数让我失望,因为没有将变量直接转储到\u root
中的选项,但我还是决定试试。以下是使用LoadVars时我的函数的外观:
function getState (save){
varReceiver = new LoadVars();
varReceiver.onLoad = function(){
varsRecieved=true;
_root.notloggedin = this.notloggedin;
_root.nostate = this.nostate;
_root.saveName=this.saveName;
//and lots of other variables
trace (_root.saveName);
};
varReceiver.load("state.txt");
trace (_root.saveName);
}
onLoad函数中的跟踪返回正确的值,但它后面的跟踪返回未定义的值。我已尝试通过此循环等待加载:
while (varsRecieved != true){
trace ("not yet...");
}
它将闪光发送到一个无休止的循环中
我非常感谢您在这个问题上的帮助=)将信息加载后需要执行的代码放在一个单独的函数中,并在onLoad
处理程序的末尾调用该函数:
function getState (save){
varReceiver = new LoadVars();
varReceiver.onLoad = function(){
_root.notloggedin = this.notloggedin;
_root.nostate = this.nostate;
_root.saveName=this.saveName;
//and lots of other variables
trace (_root.saveName);
doRest();
};
varReceiver.load("state.txt");
}
function doRest()
{
// ...
}
请注意,getState()
将在加载信息之前返回,因此可能必须将现有代码移动到doRest()
谢谢,但这对我帮助不大,因为加载信息后需要执行的代码散落在我的电影中,不可能放在一个函数中。