Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash ActionScript:将变量从文本文件加载到_root_Flash_Actionscript_Loadvars - Fatal编程技术网

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()

谢谢,但这对我帮助不大,因为加载信息后需要执行的代码散落在我的电影中,不可能放在一个函数中。