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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.08.2011, 03:34
Max360 вне форума Посмотреть профиль Отправить личное сообщение для Max360 Найти все сообщения от Max360
  № 1  
Ответить с цитированием
Max360
[+3 17.04.11]

Регистрация: Mar 2011
Сообщений: 168
По умолчанию Отлавливание события неизвестного объекта

Здравствуйте! У меня есть куча объектов одного класса. В определенных условиях один из этих объектов выплевывает событие. Мне нужно чтобы некий класс услышал это событие, но он не знает какой именно объект слушать. Что единственный способ решить эту проблему подписывать слушатели для всех объектов? Или есть более красивое решение?

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Бабблинг события поможет, если это ДО. Также etc и BlooDHounD реализовывали бабблинг у не ДО.
__________________
тут я

Старый 02.08.2011, 03:52
Max360 вне форума Посмотреть профиль Отправить личное сообщение для Max360 Найти все сообщения от Max360
  № 3  
Ответить с цитированием
Max360
[+3 17.04.11]

Регистрация: Mar 2011
Сообщений: 168
я не суперФлешер можно расшифровочку )))

Старый 02.08.2011, 07:28
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 4  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
ДО, я так понимю - это дочерний объект, а бабблинг - это передача события вверх по иерархии объектов

Старый 02.08.2011, 08:33
kackbip вне форума Посмотреть профиль Отправить личное сообщение для kackbip Найти все сообщения от kackbip
  № 5  
Ответить с цитированием
kackbip
 
Аватар для kackbip

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Наверное DisplayObject.

Старый 02.08.2011, 10:27
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 6  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Ну, усложнили...
На самом деле, ответ в том, что:
1. Слушатель вешается на контейнер, в котором копошатся объекты.
2. Каждый из объектов диспатчит событие с параметром "bubbles": dispatchEvent(new Event(MY_EVENT,true)); (http://help.adobe.com/ru_RU/FlashPla...ml#Event%28%29)
3. В обработчике хорошо бы, получив событие, прекратить его дальнейшее распространение
stopImmediatePropagation (http://help.adobe.com/ru_RU/FlashPla...pagation%28%29)

Старый 02.08.2011, 11:26
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>но он не знает какой именно объект слушать
есть вариант вещать/слушать через статический диспатчер (http://www.flasher.ru/forum/blog.php?b=85)
т.е. вещаем в объектах от его имени, соответственно и слушаем только его

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
ДО - DisplayObject. Таргет можно и с параметром передавать. Есть темы на форуме, как минимум две, где обсуждается сохранение таргета при бабблинге. Оно хорошо ищется в поиске.
Есть еще useCapture у addEventListener. Прочтите в хелпе про него. Там и таргет, насколько помнится, не ломается.

Добавлено через 2 минуты
Да, слушатель цеплять к контейнеру, или контейнеру контейнера, или контейнеру контейнера контейнера... Смотря какая у вас там иерахия.
__________________
тут я

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
Есть темы на форуме, как минимум две, где обсуждается сохранение таргета при бабблинге. Оно хорошо ищется в поиске.
e.target - это и есть "излучающий" объект , если, конечно, слушаем контейнер (контейнер контейнера и т.д.)

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

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

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


 


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


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