第二次没有正确触发AS3定时器

时间:2013-10-29 21:47:43

标签: actionscript-3 timer

我正在尝试创建一个简单的图库。我创建了一个包含4帧图片的图库动画片段。上面的代码适用于一个触发器。图库mc移动到第2帧,并显示第二张图像。但是,下一个触发器(经过2秒钟后)无法正常工作。它被卡住(例如,舞台的其他按钮不再可点击)。如果我跟踪NextPhoto函数,它会输出两次,而不是更多。我错过了什么,第二次触发不起作用?

import flash.utils.Timer;
stop();
gallery1.stop();

var myTimer:Timer = new Timer(2000);
myTimer.addEventListener(TimerEvent.TIMER, NextPhoto);
myTimer.start();

function NextPhoto(TimerEvent):void
{
    if (gallery1.currentFrame < gallery1.totalFrames){
        gallery1.gotoAndStop(gallery1.currentFrame+1);
    }
    else if (gallery1.currentFrame == gallery1.totalFrames){
        gallery1.gotoAndStop(1);
    }
}

2 个答案:

答案 0 :(得分:0)

我无法获得您的代码,因为我是Flex类型的人。但是我能从你的代码中猜到的是你的Timer在第一次执行后没有被重启。你应该为每一帧重新启动计时器,直到最后一帧执行NextPhoto(e:TimerEvent)。

答案 1 :(得分:0)

感谢回答的人,最终这只是一个内存问题。 当我Alt +进入项目时,它无法正常工作。当我在投影仪上发表时,它起作用了。 似乎CS6最近消耗了太多内存,或者我应该升级我的塔...