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

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

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

Регистрация: Mar 2011
Сообщений: 29
Cool удаление Listeners

Добрый день.
Возникла проблема - в класс передается объект DisplayObject. на него вешаю Listener на события мышки (нажатие, отпускание кнопки и движение) и на enterFrame. При отпускании кнопки мышки удаляю все слушатели.
Код AS3:
_target.removeEventListener(Event.ENTER_FRAME,enterFrame_handler);
			_target.removeEventListener(MouseEvent.MOUSE_MOVE,mouseMove_handler);
			_target.removeEventListener(MouseEvent.MOUSE_UP,mouseUp_handler);
Проблема возникает с тем что потом я эти Listeners удалить не могу. В дебаге показывает что количество listeners до и после этого блока одинаково. И в результате при каждом обращении происходит увеличение числа listeners, что приводит совсем к нежелательным результатам. Как это можно исправить или обойти? Заранее спасибо.

Старый 24.03.2011, 19:30
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
При отпускании кнопки мышки удаляю все слушатели.
MOUSE_UP надо вешать на stage или systemManager, в случае наследников UIComponent. Вы не можете быть уверены, что пользователь отпустит кнопку мыши над вашим объектом.

Старый 24.03.2011, 20:14
xsar вне форума Посмотреть профиль Отправить личное сообщение для xsar Найти все сообщения от xsar
  № 3  
Ответить с цитированием
xsar

Регистрация: Mar 2011
Сообщений: 29
Тогда нужно обрабатывать и если пользователь отпустит кнопку вне приложения.
А почему слушатели могут не удаляться есть предположения? Или альтернативный вариант их удаления?


alatar, огромное спасибо. разобрался.


Последний раз редактировалось xsar; 24.03.2011 в 20:52.
Старый 24.03.2011, 22:06
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 4  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
А почему слушатели могут не удаляться есть предположения?
Вы их просто не удаляли.

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

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

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


 


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


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