Actionscript 3 AS3从另一个函数调用函数

Actionscript 3 AS3从另一个函数调用函数,actionscript-3,function,Actionscript 3,Function,我在时间轴上有一个名为processXML的函数(是的,我现在知道了…),它执行我希望它执行的操作,例如,它加载XML,被传递到多个数组中,并在屏幕上处理事情。酷 我还有另一个函数,一个计时器,我想从中调用上面的函数,例如processXML.call() (我希望它每10-20秒加载一次新数据) 但是没有运气。我是AS3新手,但似乎无法让它工作 我错过了一些基本的东西吗?你想做这样的事情吗 import flash.utils.Timer; import flash.events.TimerE

我在时间轴上有一个名为processXML的函数(是的,我现在知道了…),它执行我希望它执行的操作,例如,它加载XML,被传递到多个数组中,并在屏幕上处理事情。酷

我还有另一个函数,一个计时器,我想从中调用上面的函数,例如processXML.call()

(我希望它每10-20秒加载一次新数据)

但是没有运气。我是AS3新手,但似乎无法让它工作


我错过了一些基本的东西吗?

你想做这样的事情吗

import flash.utils.Timer;
import flash.events.TimerEvent;

var aTimer:Timer = new Timer(10000); // 10 seconds
aTimer.addEventListener(TimerEvent.TIMER, timeToDoSomethingAgain);

function timeToDoSomethingAgain(evt:TimerEvent):void {
    trace("timeToDoSomethingAgain");
    processXML(); //Call your function, DO NOT SAY processXML.call() as this is incorrect
}

function processXML():void {
    //Stuff in your function
}
另外,您是希望每隔10-20秒从文件中加载xml,还是仅引用已加载的xml对象?

just
processXML()
应该可以工作。显然,如果两个函数在时间轴上处于同一级别,则会出现这种情况

或者,当你的第一帧被加载时,你可以这样做

var xmlInterval:Number=-1;
var msGap:Number=20000; //Sets the millisecond gap to 20000 milliseconds between calls
xmlInterval=setInterval(processXML, msGap); //calls processXML every msGap milliseconds
//And to stop calling processXML when you don't need it,
clearInterval(xmlInterval);

@user1203605,你能在这里发布你的processXML代码吗?或者至少是第一行(函数签名)?var myXML:XML;var myLoader:urloader=newurloader();load(新的URLRequest(“myText.xml”);myLoader.addEventListener(Event.COMPLETE,processXML);函数processXML(e:Event):void{myXML=newxml(e.target.data);它看到XML加载程序的加载事件正在调用processXML。因此,不要执行
setInterval(processXML,msGap);
您需要使用
setInterval(loadXML,msGap);
其中loadXML将调用
loader.load(URLRequest)
;是的,我发现了。谢谢你的帮助!是的,我正在尝试做类似上述的事情。但是Flash不喜欢我调用processXML();其他一切都与您给出的示例类似。等待自我回答-成为一个nube'n all。总之……好吧,我的错。看不见树木。回答很简单,真的。只需将myLoader.load(new URLRequest(“myText.xml”);放入计时器函数中。processXML在加载时随时触发……Doh!