Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Таймер не хочет тикать (http://www.flasher.ru/forum/showthread.php?t=134281)

Furinax 25.12.2009 14:49

Таймер не хочет тикать
 
Вопрос на столько глупый, что даже спрашивать стыдно, но надо...
Внутри класса есть функция, которая запускает таймер. Кода под 1700 строк, поэтому решил просто написать функцию и разобраться, мож я чего то в таймерах не понимаю.
Вроде бы старндартный код, 8 раз в трейсе должно появиться *TICK*.
Код AS3:

private function addTimer():void {
                        var activityTime:Timer = new Timer(10000, 8);
                        activityTime.addEventListener(TimerEvent.TIMER, listner);
                        activityTime.start();
                };
 
                private function listner(e:TimerEvent):void {
                        trace("*TICK!!!!!!!!!!!!!!!*");
                };

Но почему то событие выполняется только в 8 раз. Т.е. как будто произошло событие TIMER_COMPLETE. Самое удивительное что точь в точь такой же код работает в других классах. Мож какие баги есть с таймерами? Был бы рад если бы кто-нибудь поделиллся ссылкой...

iflamberg 25.12.2009 14:53

в этом коде ошибок нет. Ищи в других местах. Никаких багов у таймера нет(ну кроме того, что оне не слишком точный).

Himerets 25.12.2009 15:03

Цитата:

Сообщение от Furinax (Сообщение 875175)
Вроде бы старндартный код, 8 раз в трейсе должно появиться *TICK*.

Но почему то событие выполняется только в 8 раз.

А в чем проблема?

leofit 25.12.2009 15:05

Код AS3:

new Timer(10000, 8)

сработает 8 раз
Код AS3:

ставьте new Timer(10000)


iflamberg 25.12.2009 15:07

ох, господа, читайте вопрос внимательно

leofit 25.12.2009 15:10

Цитата:

Сообщение от Furinax (Сообщение 875175)
Вроде бы старндартный код, 8 раз в трейсе должно появиться *TICK*.
Но почему то событие выполняется только в 8 раз. Т.е. как будто произошло событие TIMER_COMPLETE.

а в чем проблема то? 8 раз должно выполниться, 8 раз выполняется, по завершении условии таймера (8 раз) выполняется TIMER_COMPLETE, именно так он и должен работать http://help.adobe.com/ru_RU/AS3LCR/F...:timerComplete

Jewelz 25.12.2009 15:30

товарищ пишет, что срабатывает только в восьмой раз, а не восемь раз, как должно

Furinax 25.12.2009 15:33

2leofit:
iflamberg вам написал внимательней читать тему, но вы видимо не из тех, кто следует чужим советам.
Проблема в том, что он НЕ выполняется 8 раз, а выполняется В ВОСЬМОЙ раз, хотя там стоит константа TimerEvent.TIMER, а не TimerEvent.TIMER_COMPLETE.
Так что сначало надо правильно читать вопрос, а потом только показывать всем, что вы умеете находить в справочнике инфу по нужнм классам.

По теме:
самое интересное, что тот же самый код таймера переношу в разные функции класса и даже конструктор. В некоторых местах работает как надо, а в некоторых нет. Просто мистика прям не знаю как с этим бороться...
Когда разберусь отпищшусь в чем причина...

leofit 25.12.2009 15:33

Извиняюсь тогда... А почему Вы уверены что это именно восьмой раз а не первый?

Himerets 25.12.2009 15:51

наверное потому что срабатывает через 80 секунд.
а что будет, если поставить new Timer(10000) вместо new Timer(10000, 8)?


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

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