2013-10-29 49 views
0

我想创建一个简单的库。我创建了一个包含带图片的4个框架的图库动画片段。上面的代码适用于一个触发器。画廊mc移动到第2帧,并显示第二个图像。尽管(再过2秒后)下一个触发器无法正常工作。它会卡住(例如舞台上的其他按钮不再可点击)。如果我跟踪NextPhoto函数,它将输出两次,而不再是更多。我错过了什么,第二个触发器不工作?AS3计时器第二次没有正确触发

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); 
    } 
} 
+1

代码是否存在于所有帧?另外,它应该是'function nextPhoto(e:TimerEvent):void'。您添加了数据类型作为参数。 –

回答

0

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

0

感谢answes家伙,最终它只是一个记忆问题。 当我按Alt +进入项目它不起作用。当我在Projector上发布时,它工作正常。 似乎CS6最近消耗太多的内存,或者我应该升级我的塔...

相关问题