Xml 动作脚本3.0插入延迟
我是AS的新手,我正试图处理一些问题 我有下一个剧本Xml 动作脚本3.0插入延迟,xml,actionscript-3,delay,Xml,Actionscript 3,Delay,我是AS的新手,我正试图处理一些问题 我有下一个剧本 var t:Date = new Date (); var day=t.getDate(); var month=t.getMonth()+1; var today=day+"."+month; var u:Number = 0; var b_persons:Array = new Array (); var loader:URLLoader = new URLLoader(new URLRequest("bday.xml")); var
var t:Date = new Date ();
var day=t.getDate();
var month=t.getMonth()+1;
var today=day+"."+month;
var u:Number = 0;
var b_persons:Array = new Array ();
var loader:URLLoader = new URLLoader(new URLRequest("bday.xml"));
var bday_file:XML = new XML();
loader.addEventListener(Event.COMPLETE, endLoad);
function endLoad(all_data:Event)
{
bday_file = XML(all_data.target.data);
for each (var person:XML in bday_file.Person)
{
if (person.BD == today)
{
b_persons.push(person.FIO);
trace (b_persons.length);
}
}
}
function assign_txtBdayPerson()
{
txtBdayPerson.text=b_persons[u];
trace(b_persons[u]);
u=u+1;
if (u >= b_persons.length)
{clearInterval(delay_assign_txtBdayPerson);}
}
trace ("Test"+b_persons.length);
if (b_persons.length != 0)
{
var delay_assign_txtBdayPerson = setInterval(assign_txtBdayPerson,3000);
}
我的xml文件有两个合适的条件,输出窗口显示下一个序列
测试0大于1,最后为2
看来
trace ("Test"+b_persons.length);
早于
function endLoad(all_data:Event)
完成
你能帮我一下吗?这种情况发生了,因为
跟踪(“Test”+b_persons.length)代码>与实际加载开始在同一“帧”中执行endLoad()
回调至少在下一帧中执行,此时XML已经加载。这就是Flash中异步流的本质。如果您想要/需要跟踪(“Test”+b_.length)要在加载并解析XML后运行,需要将其放置在endload内或endload将在其函数末尾调用的函数内
如果你不习惯事件,它可能看起来不同,也可能是邪恶的,但一旦你习惯了,你就会发现它们更适合使用。谢谢你的回复,我按照你说的做了,使用了多个函数并正确放置了这些函数=)事件真的很有趣。。。是否有类似“onfunction comleted”的事件?只是感兴趣=)不,但您可以发送自己的自定义事件<代码>dispatchEvent(新事件(“SomeFunctionFinished”)代码>位于函数末尾。只需确保您正在收听顶部添加的事件列表(“SomeFunctionFinished”,“FunctionCallWhenFinished”
。但首先调用该函数会更容易。谢谢,我已经做了其他操作,但所有新功能都对我有好处=)