Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.05.2011, 16:40
Ylik вне форума Посмотреть профиль Отправить личное сообщение для Ylik Найти все сообщения от Ylik
  № 1  
Ответить с цитированием
Ylik
 
Аватар для Ylik

Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
По умолчанию Остановить таймер (или много таймеров)

Здравствуйте профессионалы! Возникла очередная проблема с AS3, и я снова обращаюсь к вам.
По нажатию кнопки запускается таймер.
Пытаюсь сделать, чтобы при нажатии другой кнопки, таймер сразу останавливался.
Запускаться запускается, а уже не останавливается (именно по нажатию).
Вот такой кодик:
Код 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.
Старый 16.05.2011, 16:52
Cheburashka вне форума Посмотреть профиль Отправить личное сообщение для Cheburashka Найти все сообщения от Cheburashka
  № 2  
Ответить с цитированием
Cheburashka

Регистрация: Apr 2010
Сообщений: 43
Проверьте срабатывает ли метод timerStop. Скорее всего нет.

Старый 16.05.2011, 16:57
Ylik вне форума Посмотреть профиль Отправить личное сообщение для Ylik Найти все сообщения от Ylik
  № 3  
Ответить с цитированием
Ylik
 
Аватар для Ylik

Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
То, что функция timerStop работает - это точно (там ещё происходят некие изменения на экране, при выполнении timerStop).
Просто таймер не реагирует именно на timer.stop();. Как-то так.

Старый 16.05.2011, 16:58
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Код AS3:
var timer:Timer = new Timer(5000, 1);
Не срабатывает, потому что он уже остановился? Судя по этой строчке, он выполнится лишь один раз через 5 секунд, так и надо?
__________________
тут я

Старый 16.05.2011, 16:58
Cheburashka вне форума Посмотреть профиль Отправить личное сообщение для Cheburashka Найти все сообщения от Cheburashka
  № 5  
Ответить с цитированием
Cheburashka

Регистрация: Apr 2010
Сообщений: 43
А возможно такое, что создается случайно несколько таймеров?
Присоедините код, так понятней будет.

Старый 16.05.2011, 16:59
honest_man вне форума Посмотреть профиль Отправить личное сообщение для honest_man Найти все сообщения от honest_man
  № 6  
Ответить с цитированием
honest_man

Регистрация: Aug 2010
Сообщений: 86
Цитата:
Сообщение от Ylik Посмотреть сообщение
По нажатию кнопки запускается таймер.
Пытаюсь сделать, чтобы при нажатии другой кнопки, таймер сразу останавливался.
Что это значит? У мышки всего одна кнопка в АС. Ведь имеется в виду кнопка мыши? cужу по MouseEvent

Старый 16.05.2011, 16:59
Ylik вне форума Посмотреть профиль Отправить личное сообщение для Ylik Найти все сообщения от Ylik
  № 7  
Ответить с цитированием
Ylik
 
Аватар для Ylik

Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
Хотя... что-то я уже запуталась...
Как можно точно проверить?

Добавлено через 42 секунды
Нет, две кнопки на сцене.

Старый 16.05.2011, 17:01
honest_man вне форума Посмотреть профиль Отправить личное сообщение для honest_man Найти все сообщения от honest_man
  № 8  
Ответить с цитированием
honest_man

Регистрация: Aug 2010
Сообщений: 86
аа, нажатие на отдельные объекты... хм. а можно полную структуру увидеть?

Старый 16.05.2011, 17:02
Ylik вне форума Посмотреть профиль Отправить личное сообщение для Ylik Найти все сообщения от Ylik
  № 9  
Ответить с цитированием
Ylik
 
Аватар для Ylik

Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
Сейчас попробую написать

Добавлено через 6 минут
Код AS1/AS2:
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.
Старый 16.05.2011, 18:30
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 10  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Цитата:
Сообщение от Ylik Посмотреть сообщение
Ну что, никто не понял, в чём может быть проблема?
Я не понимаю...
Код в кадрах? Там новый таймер нигде не пересоздается лишний раз? Мне кажется, что Cheburashka прав.

Лучше сделайте минимальный компилируемый пример, на котором другие смогут увидеть проблему, а не просто приводите фрагменты кода (без контекста).

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:08.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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