Показать сообщение отдельно
Старый 09.11.2011, 23:35
kodo вне форума Посмотреть профиль Отправить личное сообщение для kodo Найти все сообщения от kodo
  № 1  
Ответить с цитированием
kodo

Регистрация: Mar 2011
Адрес: Минск
Сообщений: 11
Question MouseEvent и Alpha в Bitmap

Можно ли заставить корректно работать События мыши с расторовой альфой?

Суть в том что Флеш игнорирует наличие альфы у картинок. И к примеру если есть спрайт содержащий картинку кольца, а позади него ещё какой-то спрайт, как раз внутри этого кольца. То выходит так что мы видим этот задний спрайт но клики, которые казалось бы по нему, срабатывают по верхнему спрайту(кольцу). Отключить маусэвенты у верхнего спрайта - не вариант.
Также хочется сохранить правильную цепочку передачи события(по всем контейнерам)..

Я нагуглил и нашёл несколько способов:
1) сторонняя "библиотека" InteractivePNG http://blog.mosessupposes.com/?p=40 - в примере работает достаточно хорошо, но я не любитель сторонних библиотек и классов, ввиду чёрного ящика.
2) создать векторную альфу для изображения и засунуть её в маску - работает идеально, но есть такие минусы как: лишняя работа по созданию масок, лишний спрайт для маски - да и вообще вектор штука медленная.
3) Использовать getObjectsUnderPoint - получить список всех обьектов, проверить альфы и найти требуемый. - но как в таком случае правильно возбудить событие чтобы оно пошло по всей цепочки контейнеров?

Возможно кто знает ещё какой-то способ, как бы так отделаться малой кровью?