Flex 3: Таймер не остановится - PullRequest
0 голосов
/ 18 ноября 2010

Я использую Flex 3 с Flash 9.

Я пытаюсь сделать таймер, который будет запускаться раз в 1 секунду. К сожалению, мой таймер продолжает повторяться. Как мне заставить его остановиться?

public var myTimer:Timer = new Timer(1000, 1);


private function visFunc():void {

   myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, imageProducer);
   myTimer.start();

}

private function imageProducer(event:TimerEvent):void {


   var img:Image = new Image;
   img.source = image_path;
   img.x = 56;
   img.y = (tf.y + tf.height + 40);
   radioVBox.addChildAt(img, 0);
   this.height = radioVBox.y + radioVBox.height +110;
   myTimer.stop();
   myTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, imageProducer);
}

Спасибо.

-Laxmidi

1 Ответ

1 голос
/ 18 ноября 2010

Я бы изменил свой код на следующий и выполнил бы некоторые тесты, поскольку я не вижу никаких серьезных проблем ... ОДНАКО, если вы не отлаживаете и / или у вас не работает отладочная версия flashplayer что-то может взорваться в строке vbox.addChild (например, null vbox). Если ваша функция imageProducer хороша, значит, ваша проблема не в «вызывающей» функции.

private var myTimer : Timer;

private function visFunc():void
{
    if(myTimer != null) 
    {
        tearDownTimer();
    }

    myTimer = new Timer(1000,1);
    myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, imageProducer);
    myTimer.start();

}

private function tearDownTimer():void
{
    if(myTimer) 
    {
        myTimer.stop();
        myTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, imageProducer);
        myTimer = null;
    }
}


private function imageProducer(event:TimerEvent):void
{
   var img:Image = new Image();
   img.source = image_path;
   img.x = 56;
   img.y = (tf.y + tf.height + 40);
   radioVBox.addChildAt(img, 0);
   this.height = radioVBox.y + radioVBox.height +110;

   tearDownTimer();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...