![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
|
Здравствуйте профессионалы! Возникла очередная проблема с AS3, и я снова обращаюсь к вам.
По нажатию кнопки запускается таймер. Пытаюсь сделать, чтобы при нажатии другой кнопки, таймер сразу останавливался. Запускаться запускается, а уже не останавливается (именно по нажатию). Вот такой кодик: function timerStop(e:MouseEvent):void { timer.stop(); timer.removeEventListener(TimerEvent.TIMER,onTimer); timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); } var timer:Timer = new Timer(5000, 1); function onClick(e:MouseEvent):void{ timer.addEventListener(TimerEvent.TIMER, onTimer); timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); timer.start(); } ![]() Искала, искала, по-всякому переписывала, но всё-равно не работает как надо (хотя, вроде, уж писала так же, как в примерах). Очень прошу помощи разобраться! Спасибо огромное! Последний раз редактировалось alexcon314; 17.05.2011 в 09:09. |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 43
|
Проверьте срабатывает ли метод timerStop. Скорее всего нет.
|
|
|||||
|
Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
|
То, что функция timerStop работает - это точно (там ещё происходят некие изменения на экране, при выполнении timerStop).
Просто таймер не реагирует именно на timer.stop();. Как-то так. ![]() |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 43
|
А возможно такое, что создается случайно несколько таймеров?
Присоедините код, так понятней будет. |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 86
|
Что это значит? У мышки всего одна кнопка в АС. Ведь имеется в виду кнопка мыши? cужу по MouseEvent
|
|
|||||
|
Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
|
Хотя... что-то я уже запуталась...
Как можно точно проверить? Добавлено через 42 секунды Нет, две кнопки на сцене. |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 86
|
аа, нажатие на отдельные объекты... хм. а можно полную структуру увидеть?
|
|
|||||
|
Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
|
Сейчас попробую написать
Добавлено через 6 минут mc1.visible=false; mc2.visible=true; function timerStop(e:MouseEvent):void { mc2.visible=false; timer.stop(); timer.removeEventListener(TimerEvent.TIMER,onTimer); timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); } var timer:Timer = new Timer(5000, 1); function onClick(e:MouseEvent):void{ mc1.visible=true; timer.addEventListener(TimerEvent.TIMER, onTimer); timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); timer.start(); } function onTimer(event:TimerEvent):void { mc1.visible=false; } function onTimerComplete(event:TimerEvent):void { mc2.visible=true; } Добавлено через 46 минут Ну что, никто не понял, в чём может быть проблема? ![]() Я не понимаю... Последний раз редактировалось Ylik; 16.05.2011 в 17:10. |
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Логика не ясна.
1) mc1 = 0 mc2 = 1 2) По клику: mc1 = 1 запускается таймер, который срабатывает 1 раз и одновременно диспатчатся оба события mc1 = 0 mc2 = 1 (зачем? оно итак true) 3) И по коду никто не вызывает функцию timerStop()!!! Почему она принимает MouseEvent? Можно, например, написать в последнее событие:
__________________
Нормально делай — нормально будет! Последний раз редактировалось tsarapkabel; 16.05.2011 в 18:03. |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|