AS3 /在Vector上停止计时器?

时间:2013-12-15 18:07:20

标签: actionscript-3 flash vector timer

如何在向量[2]处启动计时器并在vec [13]处停止计时器。 myTimer.stop();

我已经完成了向量每10秒跳转到下一个向量(timerevent)。计时器和向量将继续计数,然后返回到vec [0]

如果可能的话,我想在稍后的矢量启动我的计时器。并且计时器在结束时停止。

var myTimer:Timer = new Timer(1000);
myTimer.repeatCount = 13;
myTimer.delay = 1000;

myTimer.addEventListener(TimerEvent.TIMER, countdownHandler);
function  countdownHandler(event:TimerEvent):void
{   
    countdown.text = 0+myTimer.currentCount+" s remaining";
    countdown2.text = 0+myTimer.currentCount+" s remaining";
    if(myTimer.currentCount==10)
    {
        myTimer.reset();
        myTimer.start();

    }   
}
myTimer.start();

&安培;

function timerfunctie(event:TimerEvent) 
{
    for(var i:int = 0; i < vec.length; i++) 
    {
        if (vec[i].parent) if (myTimer.currentCount == 9) 
        {
            removeChild(vec[i]);
            var next2:int = i+1;
            if(next2 == vec.length) next2 = 0;
            addChild(vec[next2]);
            break; 
        }
    }
}

1 个答案:

答案 0 :(得分:0)

不确定调用timerfunctie的位置,但此代码应检测定时器的currentCount何时为2和13.如果您希望Timer运行完整的13次迭代,则想要在迭代10重置它。

function  countdownHandler(event:TimerEvent):void
{   
    countdown.text = 0+myTimer.currentCount+" s remaining";
    countdown2.text = 0+myTimer.currentCount+" s remaining";

    if (myTimer.currentCount==2) {
        // start with vector[2]
    } else if (myTimer.currentCount==13) {
        // end with vector[13]
    }
}