Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Остановка таймера AS3 Flash (http://www.flasher.ru/forum/showthread.php?t=206270)

kogg 24.01.2014 12:13

Остановка таймера AS3 Flash
 
Добрый день!
У меня та же проблема. Не работает Стоп. Но код записан в кадре. Будьте добры, помогите:

Код AS3:

import flash.utils.Timer;
import flash.events.TimerEvent;
err.visible = false; // клип с сообщением, что время истекло
timerTF.text = "";
btn.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent):void
{
        //trace(timer)
        timerTF.text = "";
        err.visible = false;
        var fl_SecondsElapsed:Number = 10;
        var timer:Timer = new Timer(1000,fl_SecondsElapsed);
 
 
timer.addEventListener(TimerEvent.TIMER, fl_TimerHandler);
                timer.start();
 
 
 
                function fl_TimerHandler(event:TimerEvent):void
                {
                        trace("Осталось: " + fl_SecondsElapsed);
                        timerTF.text = "" + fl_SecondsElapsed;
                        fl_SecondsElapsed--;
                        if (fl_SecondsElapsed==0)
                        {
                                timerTF.text = "0"
                                err.visible = true;
                        }
                }
 
        if (!timer.running)
        {
//если таймер запущен, то он будет остановлен
                this.timer.stop();
                timerTF.text = ""
                timer=null
                timer.removeEventListener(TimerEvent.TIMER, fl_TimerHandler);
 
 
        }
}


FlashRus 24.01.2014 12:38

Код AS3:

if (!timer.running)

- если таймер остановлен, а не
Цитата:

//если таймер запущен
P.S. Для встаривания кода в сообщение необходимо использовать соответствующие теги.

ObOs 24.01.2014 13:59

Я так понимаю вам нужен обратный отсчет

Код AS3:

                private var _ button:Sprite;
                private var _timer:Timer;
                private var _secondsElapsed:int = 4;
 
                _button.addEventListener(MouseEvent.CLICK, butClickHandler);
 
                private function butClickHandler(e:MouseEvent):void
                {
                        _timer = new Timer(1000, _secondsElapsed);
                        _timer.addEventListener(TimerEvent.TIMER, timerTickHandler);
                        _timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteHandler);
                        _timer.start();
                        trace("Отсчет пошел!");
                }
 
                private function timerTickHandler(e:TimerEvent):void
                {
                        _secondsElapsed--;
                        trace("Осталось " + _secondsElapsed + " секунд.");
 
                }
 
                private function timerCompleteHandler(e:TimerEvent):void
                {
                        trace("Усё.")
                }

Не используйте вложенные функции. Это - зло.


Часовой пояс GMT +4, время: 06:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.