![]() |
|
||||||||||
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Ну так разные события посылайте - для маны одно, для устойчивости другое, для всего вместе оба сразу.
__________________
Oomph |
|
|||||
|
В модели событий ActionScript нет такого понятия, как рассылка по определенным ветвям. Диспетчер просто генерирует событие и его не касается будут ли его слушать или нет. Если кто подписался на событие, то он его и получит. А дальше каждий подписчик должен решать сам, как ему реагировать. У Вас же ситуация с очень неясным событием. Его нужно детализировать, добавить немного конкретики. Тогда каждый подписчик сможет понять, интересно ему это или можно игнорить.
Например, прошла весточка о конце света, которая касается всех людей. - Истинно верующие при любых раскладах побегут в храмы на молитву. Им плевать на детали. - Мародерам интересно будет ли это мгновенно или растянется на много дней, месяцев или лет - тогда можна и запастись чем поинтереснее. - Военным тоже важны причины. А вдруг речь идет всего лишь о Третей мировой, а не библейском апокалипсисе. Тогда у них будет работа... Если нет никакой конкретики, тогда начинается паника и хаос. Если же событие содержит достаточную инфу, тогда каждый поймет, как ему поступить. А дальше вариантов 2: - каждое присшествие описано отдельним событием. Его услышит лишь тот, кому оно адресовано. - схожие происшествия описаны одним событием, которое в себе содержит более детальную инфу. |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
А существует способ временной приостановки событий? Или только отписываться?
И можно как то слушатели поместить в массив, чтобы один обьект подписать в цикле на множество событий? |
|
|||||
|
[+4 06.05.14]
|
Цитата:
Добавлено через 1 минуту Цитата:
__________________
Марк Tween |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
in4core Спасибо! А Вы не знаете, что будет накладнее, выкидывать из обработчика или отписывать? А вот за второй ответ отдельно Спасибо! Из - за отвержения мозгом по причине "некрасивости", я бы не догадался. Мне так странно осознавать, что "change" === Event.CHENGE.
|
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
В самом начале тяжело всем и все стараются расспросить более опытного, обо всё на свете.
И я давно заметил некую тенденцию, которую можно назвать "боязнью дать ответ". Вот если спросить, какую графику лучше использовать, то не кто не скажет, что это Ваше дело, каждый выбирает свой подход, а говорят все плюсы и минусы. Если спросить, что более сложное ( при чем сами опытные говорят о недостатке умных вопросов и о спаде уровня программистов, которые не хотят шевелить мозгами, из-за фраймворков ), то почти всегда один ответ - всё зависит от случая или это дело Вашего вкуса. Вот если откинуть в сторону вкусы и случаи, подскажите, как лучше организовывать процесс передачи событий? Процесс, когда класс А, слушает класс В, по ссылки на него, а в классе В созданы другие классы, безуспешно пытающиеся передать события в класс А? Лично я знаю только два способа, "глобальный диспетчер" или просто в классе В создать обработчик (события:*):void и в этом обработчике прерывать события и рассылать текущий евант. Но мне хочется узнать, есть что то ещё и что Вы используете и считаете наиболее лучшим? Добавлено через 1 минуту in4core Спасибо Вам большое! Добавлено через 30 минут Возможно стоит обратить внимание на какой то шаблон? |
|
|||||
|
[+4 06.05.14]
|
Вообщето есть баблинг. Знакомое слово? Если нет, прочитайте. Это третий параметр евентЛистенера. С помощью бабла можно передать событие на верх по цепочке.
В вашем примере как раз все очень просто - class A addEventLisnter(ClassB.CONST, f1); // слушаем класс Б, это понятно. addEventListener(ClassC.CONST , f2); // ага тут и встал вопрос, а как же. А вот и ответ classC.dispacthEvent(new ClassCEVent(ClassC.CONST,true)) вот это самое тру, передаст событие по цепочке вверх, и тот класс который подписан на него схватит это событие. Пусть хоть 500 вложенность.
__________________
Марк Tween |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
я пробовал несколько раз и у меня только с ДО получалось. |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|