![]() |
|
||||||||||
|
|
|
|||||
|
Здравствуйте, кто-нибудь (кроме разработчиков Adobe
) до конца понимает всю модель распространения событий в AS3? Все видели эту схему распространения события со сцены до источника и обратно: захват, пузыри и т.д. Ну а если объект не в списке отображения? А если он вообще не DisplayObject? Вобщем ответьте, пожалуйста, мне на следующие вопросы:1) Поток событий идет только по объектам-родителям источника? Типа: 2) Здесь же: Если рядом с parent1, будет parent1.1, до него ничего не дойдет? 3) Все дети parent2, кроме targetObject не смогут поймать событие? 4) Дети targetObject не смогут поймать событие? 5) Как вообще посылать событие глубже targetObject? 6) Если targetObject создан, но не добавлен в список отображения или это класс не DisplayObject, то как будет происходить распространение события? 7) Можно диспачить событие в объект? И смысл этого действия, если мы можем обратиться к someObject, то можем и тупо вызвать нужный нам метод? ![]() Вроде пока все... Ответьте, пожалуйста, кто как может ![]() |
|
|||||
|
Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
|
1) Да.
2) Нет. 3) Внутри себя не смогут. 4) Внутри себя не смогут. 5) Никак. Зачем? 6) Если это не DisplayObject, то событие вообще нельзя послать, а если объект не добавлен в DisplayList, то за пределы самого объекта событие не уйдет. 7) Можно. Смысл может и есть, ведь вызов метода и отправка события - разные вещи. У меня не было необходимости в такой конструкции. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
1) От targetObject до Stage, а не так, как вы нарисовали (стрелки в другую сторону);
2) Не дойдет, только вверх по родителям (опять же, стрелки в другую сторону должны быть); 3) Не смогут; 4) Не смогут; 5) Вниз? 6) Никак не будет, бабблинг работает исключительно в display list; 7) Вы привели пример отправки события объектом someObject. Если же вам надо вызвать метод — вызовите его. |
|
|||||
|
> 6) Если это не DisplayObject, то событие вообще нельзя послать...
Т.е., события могуть отправлять и ловить только DisplayObject? О_о |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Нет, наследники EventDispatcher.
|
|
|||||
|
События могут отправлять EventDispatcher-ы , ловить всплывающие события могут только объекты в DisplayList. Если EventDispatcher не в DisplayList-е то и событие, посланое этим объектом смогут услышать только слушатели событий этого объекта.
|
|
|||||
|
А, да точно...
>1) От targetObject до Stage, а не так, как вы нарисовали (стрелки в другую сторону); http://riapriority.com/blogs/constantiner.php/c16/ Так они ж смотря в какой фазе, стрелочки-то... Или что вы имеете ввиду? > 7) Вы привели пример отправки события объектом someObject. Да, перепутал X_X Тогда так: можно ли по этой схеме: Назначить из другого объекта объект someObject в качестве отправителя события? Последний раз редактировалось marat_sa; 16.10.2008 в 18:59. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
А зачем? |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|