Показать сообщение отдельно
Старый 19.04.2011, 21:27
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Не-а. Capture phase для мышки.
Реализовать... гхм )
Вообще разница бублик фазы и каптёрки в порядке триггеров хэндлеров (ну, и мелочей в самом Event`е). Бублы реализовать можно, унаследовався от EventDispatcher и сделав повторный dispatchEvent по всем parent`ам. Чтобы сделать каптюр нужно инвертировать порядок триггеров. В принципе надо создать свой "самый-корневой" StageEventDispatcher и передать на него ссылку каждому CompositeEventDispatcher (ведь DisplayObject имеют ссылку на stage. Находишь интересным?). При вызове dispatchEvent у любого CompositeEventDispatcher вызывать customDispatchEvent у StageEventDispatcher, внутри которого формировать цепочку объектов вложенности - от StageEventDispatcher до target`а. После дёрнуть dispatchEvent у каждого в прямом направлении, а потом в обратном.
Но вообще я бы использовал приоритеты
Кстати, для мышки или для всех input device`s? Можно поймать Keyboard Event в capture фазе?


Последний раз редактировалось Psycho Tiger; 19.04.2011 в 21:34.