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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.09.2011, 19:35
goldlider вне форума Посмотреть профиль Отправить личное сообщение для goldlider Найти все сообщения от goldlider
  № 11  
Ответить с цитированием
goldlider

Регистрация: Jun 2010
Сообщений: 120
Цитата:
Сообщение от alatar Посмотреть сообщение
Потому, что листенер добавлен к mc и до него событие вообще не доходит. Не важно какая фаза обрабатывается. Ситуация ничем не отличается от 6-го скриншота.
Я имел ввиду, что событие не доходит до предка, т.е. в данном случае Stage. Что же тогда получается, если так рассуждать, то listener зарегистрированный в потомке mc, не доступен для предка ? Тогда где диспетчеризация событий ?


Последний раз редактировалось goldlider; 20.09.2011 в 19:39.
Старый 20.09.2011, 19:42
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 12  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Если вы имеете ввиду свой первый пост, то при useCapture = true и клике по stage вы не сможете поймать событие, потому что для stage, у которого вы подписались, это событие находится в target фазе.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 20.09.2011, 19:45
goldlider вне форума Посмотреть профиль Отправить личное сообщение для goldlider Найти все сообщения от goldlider
  № 13  
Ответить с цитированием
goldlider

Регистрация: Jun 2010
Сообщений: 120
alatar, а как вы узнали, что Stage находится в target фазе? По идее предки получают уведомлении о возникновении события на capture фазе.

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Щелкните по theSprite и вы поймаете событие в восходящей фазе, когда оно будет проходить от stage к theSprite. А при клике по stage оно никуда уже не пойдет, все, оно уже пришло.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 20.09.2011, 20:10
goldlider вне форума Посмотреть профиль Отправить личное сообщение для goldlider Найти все сообщения от goldlider
  № 15  
Ответить с цитированием
goldlider

Регистрация: Jun 2010
Сообщений: 120
alatar, получается, что при клике по stage, он вообще не проходит никакие фазы?

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Только target.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 20.09.2011, 20:18
goldlider вне форума Посмотреть профиль Отправить личное сообщение для goldlider Найти все сообщения от goldlider
  № 17  
Ответить с цитированием
goldlider

Регистрация: Jun 2010
Сообщений: 120
alatar, у меня уже путаница пошла между моим примером и примером, что указал Genm. Насчет того, что у stage только target оно верно, ведь получателем события является stage. А мне не понятно, ситуация, когда theSprite2 яв-ся объектом-подписчиком при useCapture = true, и stage требует вызова ф-ии в target фазе.


Последний раз редактировалось goldlider; 20.09.2011 в 20:21.
Старый 20.09.2011, 20:23
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 18  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Какая разница в каком месте программы вы подписались у stage на событие? Stage один на всех. theSprite.stage это просто ссылка, с таким же результатом вы могли написать this.stage.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 20.09.2011, 20:27
goldlider вне форума Посмотреть профиль Отправить личное сообщение для goldlider Найти все сообщения от goldlider
  № 19  
Ответить с цитированием
goldlider

Регистрация: Jun 2010
Сообщений: 120
alatar, я имел ввиду theSprite2.addEventListener(). Должен сработать в target фазе для theSprite2, и в capture фазе для stage. Но запуска не происходит.

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Он не может сработать в capture фазе события stage. Для этого он должен быть родителем stage. А в реальности наоборот, stage является корневым родителем для всех DisplayObject, включая root. Схема отношений показана на первой картинке в примерах.
__________________
משיח לא בא
משיח גם לא מטלפן

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

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

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


 


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


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