![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2010
Сообщений: 4
|
Привет,
не получается добиться обработки нескольких пересекающихся кнопок одновременно. Если вешать листенер на предка, срабатывает только та, что оказывается выше: container.addEventListener(MouseEvent.MOUSE_MOVE, containerMouseMove); ... public function containerMouseMove(e:MouseEvent):void { trace (e.target.name); } В идеале нужно, чтобы при наведении на мувик открывалась подсказка, и точно так же, если под курсором несколько мувиклипов, открывалось несколько подсказок. Видимо, нужен другой подход.. помогите ![]() |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
Посмотрите DisplayObjectContainer.getObjectsUnderPoint(). Подписываться в этом случае, естественно, стоит на события в контейнере.
|
|
|||||
|
[+3 18.04.11]
Регистрация: Dec 2010
Сообщений: 342
|
А изначально известно, какая кнопка налаживается на какую? Есть ли какая-то взаимосвязь наложения? Например, если налаживаются рядом стоящие кнопки в какой-то последовательности, то можно сделать так:
Ложим кнопки в контейнер, присваиваем name кнопки - порядковый номер, подписываем каждую кнопку к событию, при наведении на одну из кнопок срабатывает событие. В слушателе события перебираем все кнопки и если == e.target, то запоминаем порядковый номер, слаживаем или отнимаем (i+-1) - это и будет рядом стоящий мувик-кнопка. Ну а потом делаем с ним все, что хотим. Думаю есть и вариант попроще, но мне что-то сразу это в голову пришло. Добавлено через 9 минут Только что посмотрел метод DisplayObjectContainer.getObjectsUnderPoint(). Легко можно использовать и его. Раньше не знал о нем. |
|
|||||
|
Lorem ipsum
|
А можно полюбопытствовать, зачем давать пользователю возможность клацнуть одним кликом по куче кнопок?
__________________
Поймай яблоко 2! |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
|
|
|||||
|
почему, иногда и объекты - он отдает первый попавший под мышку DisplayObject, а принадлежит ли он контейнеру или контейнеру принадлежит какойто его (пра)родитель - это как повезёт.
Еще там есть интересная бага со смещением контейнера - короче если контейнер, у которого берется getObjectsUnderPoint() смещен относительно stage - начинаются интересные глюки. Но, несмотря на всё это, штука незаменимая - не анализировать же самому геометрию объектов и строить при этом какое-нть дерево/сетку для оптимизации поиска попавших под мышку DisplayObject-ов. Последний раз редактировалось expl; 17.03.2011 в 18:06. |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
все правильно, я сам им пользуюсь
просто есть нюансы |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 4
|
Цитата:
Цитата:
Речь шла скорей о ROLL_OVER/MOUSE_MOVE |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|