我对actionscript非常缺乏经验,而且我正在努力弄清楚如何从文件中加载变量并将其发送到动态文本框。
外部文件“varload.txt”的内容是“name1 = John”。
这是我的flash文件的动作:
myVars = new LoadVars();
myVars.onLoad = function(){
trace(this.name1); //prints "John" as expected
myname=this.name1;
}
myVars.sendAndLoad("varload.txt", myVars);
mytextbox.text=myname; //undefined
我猜这是一个范围问题,但是我无法在线找到关于动作脚本中全局变量的内容,所以我不知道如何解决这个问题。
如何让mytextbox.text与John相等?
答案 0 :(得分:1)
问题是onLoad
是异步的(一旦文件加载就调用,而不是立即调用)。
您必须在onLoad
函数中定义文本:
myVars = new LoadVars();
myVars.onLoad = function()
{
mytextbox.text = this.name1;
}
myVars.sendAndLoad("varload.txt", myVars);
使用您的代码,您尝试将文本框的内容设置为不存在/尚未加载的数据。