ActionScript重复操作之后

时间:2013-01-07 20:59:04

标签: actionscript-3 flash

我正在尝试将xml文件重新加载到变量中,每次让我们说10秒。我已经尝试了很多关于计时器的教程,但是每一个都在等待计时器时间,然后它会在每个毫秒左右重复这些动作。

var timer:Timer = new Timer(10000);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();

function onTimer(evt:TimerEvent):void {
    trace("10 seconds");
}

我想要做的只是每10秒看一次重复,但到目前为止,等待10秒,然后像每个milisencod一样将“10秒”放在痕迹中......

我一直在使用这个ActionScript的东西很长一段时间,在我看来,做nope一定很简单吗?

感谢您的时间,Mart

3 个答案:

答案 0 :(得分:1)

尝试使用TimerEvent.TIMER_COMPLETE代替TimerEvent.TIMER,如下所示:

var timer:Timer = new Timer(10000, 1); // Add a 1 to repeat count
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer.start();

function onTimerComplete(evt:TimerEvent):void {
    trace("10 seconds");
    timer.reset(); // Reset the timer count back to 0
    timer.start(); // Start the timer again
}

以上代码每十秒重复一次,以下代码在十秒后触发一次并且再次触发:

var timer:Timer = new Timer(10000, 1); // Add a 1 to repeat count
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer.start();

function onTimerComplete(evt:TimerEvent):void {
    trace("10 seconds");
}

答案 1 :(得分:0)

你有一个框架问题,我认为你没有运行调试器版本的播放器 试试这个。

var timer:Timer = new Timer(10000, 1); // Add a 1 to repeat count
timer.addEventListener(TimerEvent.TIMER_COMPLETE, function(evt:TimerEvent):void {trace("10 seconds");});
timer.start();

答案 2 :(得分:0)

你很可能在你的框架中有这个代码,它正在创建一个新的计时器&听众每一帧:

var timer:Timer = new Timer(10000);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();