|
|
|||||
Регистрация: May 2009
Сообщений: 220
|
Событие клонируется при повторном диспатче использованного эвента. При обычном распространении события - оно не клонируется. И не важно вызвал метод Sprite или EventDispatcher.
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Цитата:
И вот только оно клонируется всегда, даже при первом вызове dispatchEvent`а. Короче, то что сказал dimarik.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Регистрация: May 2009
Сообщений: 220
|
можно на "ты". Я флеймовую темку почитал по этому поводу. Просветился -)))
я где-то сказал, что Sprite определяет dispatchEvent? Цитата:
package { import flash.display.Sprite; import flash.events.Event; import flash.events.EventDispatcher; public class Example extends Sprite { private var _event:Event; function Example() { super(); this._event = new Event(Event.CHANGE); var s3:EventDispatcher = new EventDispatcher(); s3.addEventListener(Event.CHANGE, this._test1); s3.dispatchEvent(this._event); } private function _test1(e:Event):void { trace(this._event === e); //true } } } |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Ого, и вправду. Ошибался, спасибо, буду знать. А второе событие уже клон.
Видимо событие несёт в себе какой-то флаг а-ля isUsed, и раздваяйца оно только если событие уже было использовано. Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Регистрация: May 2009
Сообщений: 220
|
ага.
Собственно, под эгидой этого топика я надеялся избавиться от геттеров в сложных событиях (наступление которого ожидают несколько объектов/обработчиков). Но, видимо - не судьба. "Не клонируется", раз... "Не клонируется", два... "Не клонируется", три... Пр... P.S. оффтоп. Даный топик имеет тег "Лень", по которому в поиске пробивается только этот топик. Забавно )) |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
switcher, геттеры (ридонли) - это лишь перестраховка в 99% случаев, чтобы случайно что-нибудь не изменить - чисто по запарке.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Регистрация: May 2009
Сообщений: 220
|
разумеется, но я эту "перестраховку" вывел в стандарт. В простых нотификациях можно и открытыми переменными обойтись, ибо плевать, что обработчик с объектом события сделает. Оно (событие) ему только и предназначается.
Однако в сложных, когда подписчиков много, я не хочу держать в голове: что я могу, а что не могу делать с полями объекта события. Я хочу быть уверенным, что объект как неизменный штамп события дойдет до адресата в том виде, в каком он изначально описывает событие. А так, конечно, можно все переменные пабликами делать, из детей родителями управлять и т.д. => главное, "чисто по запарке" не запутаться P.S. Я не занимаюсь миссионерством. Если кого-то сей подход не устраивает, пожалуйста, пожалуйста... |
|
|||||
.
|
Клонирование события происходит при наличии у диспетчера parent и если выставлен флаг bubbles?
Последний раз редактировалось dimarik; 10.06.2010 в 22:02. |
|
|||||
Регистрация: May 2009
Сообщений: 220
|
неа, пока установлен только один случай, когда происходит клонирование события. Это повторный диспатч того же объекта события.
|
Часовой пояс GMT +4, время: 19:16. |
|
« Предыдущая тема | Следующая тема » |
Теги |
flash , Лень , Проектирование , события |
Опции темы | |
Опции просмотра | |
|
|