![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Jan 2010
Сообщений: 187
|
Друзья, подскажите.
У меня на сцене как-то навалены некоторые квадратные мувиклипы. Что-то типа Маджонга. Одни клипы перекрывают другие. Допустим тыкаю я в какой-то из них. И вот мне надо узнать - перекрывается ли этот мувиклип сверху чем-то или нет. Как в Маджонге - если перекрывается - ничего с ним не делать. Если не перекрыт ничем - выводить, например, trace. Пробовал юзать getObjectsUnderPoint но, видимо, либо неправильно пробовал, либо вообще не с той стороны подошёл и надо как-то по-другому. Подскажите, какие ещё есть способы узнать есть ли поверх клипа что-нибудь ещё? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Сделайте hitTestObject со всеми чайлдами выше.
__________________
Reality.getBounds(this); |
|
|||||
|
Цитата:
Т.е. вызываем getObjectUnderPoint у stage, а координаты переводим с помощью localToGlobal/globalToLocal Ещё при этом лажает на объектах, использующих scrollRect. Ещё (это уже не баг), если в прямоугьльниках есть вложенные элементы и они попали под мышь - в массиве сами прямоугьльники будут отсутствовать. Т.е. необходимо проверять родителей (и возможно их родителей, и возможно рекурсивно) объектов в этом массиве getObjectsUnderPoint(). А вообще, если объект закрыт другим и они все лежат в одном контейнере (а не один в другом) - то MOUSE_CLICK через верхний до нижнего не дойдет (dimarik уже сказал), ROLL_OVER и ROLL_OUT так же будут учитывать перекрытия - т.е. может вообще не нужно ничего специально делать, а просто использовать события, которые уже есть в нативном API? |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|