Function 定时运行函数

Function 定时运行函数,function,actionscript,timer,Function,Actionscript,Timer,我想每3秒钟运行一次函数。 运行该函数时,出现以下错误: RangeError: Error #1125: The index 7 is out of range 4. at views::twoHomeView/onTimer()[C:\Users\Kinect\Adobe Flash Builder 4.6\yattah\src\views\twoHomeView.mxml:26] at flash.utils::Timer/_timerDispatch() at f

我想每3秒钟运行一次
函数。
运行该函数时,出现以下错误:

RangeError: Error #1125: The index 7 is out of range 4.
    at views::twoHomeView/onTimer()[C:\Users\Kinect\Adobe Flash Builder 4.6\yattah\src\views\twoHomeView.mxml:26]
    at flash.utils::Timer/_timerDispatch()
    at flash.utils::Timer/tick()
我的代码是:

<fx:Script>
    <![CDATA[

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

        private var timer:Timer;

        public function Main():void {
            timer = new Timer(1000, 3);
            timer.addEventListener(TimerEvent.TIMER, onTimer);
            timer.start();
        }

        var kaisu:int =0; 

        private function onTimer(event:TimerEvent):void {
            for(var i:int;i<5;i++){
                display(n[kaisu]);
                kaisu += kaisu+1;
            }
        }

    ]]>
</fx:Script>

您的
n
数组只有4个元素,您正试图访问元素编号7

问题的原因如下:

        for(var i:int;i<5;i++){
            display(n[kaisu]);
            kaisu += kaisu+1; //<-- here your values will be 0,1,3,7..
        }

for(var i:int;i您的var中的问题i没有设置为0。

当您声明一个int-var时,它默认设置为0谢谢您的建议。请尝试您的代码,结果没有错误。但是这种情况下不能每3秒钟运行一次函数
        for(var i:int=0;i<5;i++){
            display(n[i]);
        }