Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
Xml 动作脚本3.0插入延迟_Xml_Actionscript 3_Delay - Fatal编程技术网

Xml 动作脚本3.0插入延迟

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

我是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 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)

如果你不习惯事件,它可能看起来不同,也可能是邪恶的,但一旦你习惯了,你就会发现它们更适合使用。

谢谢你的回复,我按照你说的做了,使用了多个函数并正确放置了这些函数=)事件真的很有趣。。。是否有类似“onfunction comleted”的事件?只是感兴趣=)不,但您可以发送自己的自定义事件<代码>dispatchEvent(新事件(“SomeFunctionFinished”)位于函数末尾。只需确保您正在收听顶部添加的事件列表(“SomeFunctionFinished”,“FunctionCallWhenFinished”
。但首先调用该函数会更容易。谢谢,我已经做了其他操作,但所有新功能都对我有好处=)