![]() |
Event у перекрываюшихся DisplayObject
Привет всем. Стала задача сделать "прослушку" MouseClick 2-х (в общем случае N) частично перекрывающихся наследников DisplayObject, чтобы при клике в области перекрытия Event словил не только верхний, но и все кто под ним.
Сейчас сделал так: прослушку повесил на общий контейнер, потом через getObjectsUnderPoint() получаю список всех DisplayObject под точкой клика, и уже проходя по массиву возвращенных объектов вызываю желаемый метод. Можно ли как-то обойтись прослушкой в самих DisplayObject, чтобы оно "прошило" всех до самого нижнего? |
Отношение дети-родители имеются у объектов между собой?
|
нет, иначе бы вопрос не стоял, событие легко бы прошло ко всей детворе. Объекты соседи, просто частично накладываются друг на друга
|
ну тогда, очевидно, нет. Клик всегда чей-то(1 объекта), потом всплывает.
Ну можно немного облагородить, вроде того - повесить на стейдж слушатель, у нужных объектов реализовать интерфейс, и диспатчить клик в выбранные объекты через getObjectsUnderPoint, которые реализуют интерфейс. |
В общем реализовал так:
Код AS3:
|
Если до root проверяете, то может быть есть смысл именно на него повесить единственный слушатель MouseEvent?
|
Цитата:
|
| Часовой пояс GMT +4, время: 11:12. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.