|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Lorem ipsum
|
а еще лучше так:
всё, никакого extends Если в коде диспатчится нативный Event, то GameOver является всего-навсего хранителем констант — типов события, всяких там Наследование от Event (не забываем при этом переопределить метод clone) как правило необходимо, если мы хотим добавить заветный data:*, чтобы событие еще и таскало за собой до конечного обработчика какую-то важную информацию.
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Apr 2014
Сообщений: 9
|
Цитата:
а в CustomEvent у меня будет public var data:Object ={}; Куда я могу запихнуть всё что мне нужно, а конструктор будет принимать Object как второй аргумент dispatchEvent(new CustomEvent(CustomEvent.MY_TYPE, {data: param})); |
|
|||||
Lorem ipsum
|
__________________
Поймай яблоко 2! |
|
|||||
С событиями разобраться довольно просто. У нас есть 2 объекта Исполнитель и Заказчик. Заказчик нанимает исполнителя на определенную работу и знает о нем только то что он ее делает. Исполнитель не знает о заказчике ничего, для него работа и есть работа, пришло задание и он его делает. Нам надо дать знать Заказчику, что Исполнитель выполнил задание таким образом, чтобы Заказчик не стоял рядом с Исполнителем следя за каждым его шагом, а также чтобы Исполнитель после выполнения заказа не бежал искать заказчика чтобы передать ему результат, т.к. это выходит за пределы их роли, вот тут на помощь приходят события. Функция addEventListener - Исполнитель рядом со своей мастерской вешает корзину, на которой написано название события "Окончание работы" и Заказчик кидает туда конверт в котором содержится обработчик этого события. Функция dispatchEvent - Исполнитель завершая работы над заданием подходит к этой корзине и распечатывает конверты по очереди запуская обработчики событий. Функция removeEventListener - если заказчик вдруг решит по какой-то причине умереть, то ему желательно забрать свой конверт у Исполнителя, чтобы тот не пытался вызывать обработчик мертвого Заказчика, т.к. о Заказчике ничего не известно кроме его обработчика, так же забрать конверт надо, если результат просто перестает интересовать. Пользовательские события - это та же корзина, но принимать она может только оговоренные коробки, бандероли и другие предметы рассчитанные на результат выполненной работы, чтобы корректно выполнился обработчик, т.к. этот обработчик ждет результат строго определенного вида. Надеюсь это сочинение упростит понимание, а не запутает
__________________
ответ прост: be || !be == true |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Не очень хорошее сравнение заказчик - исполнитель. Так как мы не заказываем у той же кнопки, чтобы она нажалась, а только подсовываем ей конвертик.
|
|
|||||
А если заказчик заказал, чтобы исполнитель ждал нажатия на кнопку, от Его Величества Пользователя и как только так сразу сообщил об этом? Тут же роли достаточно условные, и в корзину может кинуть конверт любой, кто знает о существовании исполнителя. Мыши с клавиатурами, такие же Исполнители с корзинами, о которых не известно ничего кроме их программного интерфейса и того, что у них есть корзины с конвертами которые они в определенный момент открывают. Тут не важно как ЭТО произошло, а важно что ЭТО просто произошло и надо с этим как-то жить дальше.
Добавлено через 9 минут Хотя тут больше всего, конечно, подходит термин Подписчик, т.к. заказчику, который инициализировал весь процесс может быть вообще не интересен результат. Это тем более говорит о том, что Исполнитель не должен никак взаимодействовать с Заказчиком. Добавлено через 22 минуты Если описывать все возможные остросюжетные варианты с фазами, со слабыми ссылками, с приоритетом, а так же отменой и клонированием событий, то количество действующих лиц увеличится и рядовая ситуация, объясняющая схему взаимодействия, сильно усложнится и маленькое эссе превратится в большой, драматический роман
__________________
ответ прост: be || !be == true |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
|
|
|||||
Если мы зашли так далеко, то почтальона может убить каждый получатель письма, чтобы остальные подписанные на сообщения от Исполнителя не получили события. События - это очень просто)
__________________
ответ прост: be || !be == true |
Часовой пояс GMT +4, время: 09:32. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|