![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2011
Адрес: Минск
Сообщений: 11
|
Можно ли заставить корректно работать События мыши с расторовой альфой?
Суть в том что Флеш игнорирует наличие альфы у картинок. И к примеру если есть спрайт содержащий картинку кольца, а позади него ещё какой-то спрайт, как раз внутри этого кольца. То выходит так что мы видим этот задний спрайт но клики, которые казалось бы по нему, срабатывают по верхнему спрайту(кольцу). Отключить маусэвенты у верхнего спрайта - не вариант. Также хочется сохранить правильную цепочку передачи события(по всем контейнерам).. Я нагуглил и нашёл несколько способов: 1) сторонняя "библиотека" InteractivePNG http://blog.mosessupposes.com/?p=40 - в примере работает достаточно хорошо, но я не любитель сторонних библиотек и классов, ввиду чёрного ящика. 2) создать векторную альфу для изображения и засунуть её в маску - работает идеально, но есть такие минусы как: лишняя работа по созданию масок, лишний спрайт для маски - да и вообще вектор штука медленная. 3) Использовать getObjectsUnderPoint - получить список всех обьектов, проверить альфы и найти требуемый. - но как в таком случае правильно возбудить событие чтобы оно пошло по всей цепочки контейнеров? Возможно кто знает ещё какой-то способ, как бы так отделаться малой кровью? |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
В InteractivePNG есть один косяк с уничтожением созданной битмапы. Я для себя малость подправил этот класс, и теперь все уничтожается полностью. Плюс, раз уж не хочется использовать сторонние библиотеки, то почему бы просто не подсмотреть там решение? Там используются только стандартные методы. |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
__________________
Отряд Котовскага |
|
|||||
|
Регистрация: Mar 2011
Адрес: Минск
Сообщений: 11
|
Всё верно говорите, надо поковырять этот ящик и будет уже не чёрный.
лень просто такая штука, и надежда: а вдруг пропустил что-то тривиальное... |
|
|||||
|
kodo, ну напишите свою реализацию. Будет лучше, начнут использовать вашу. Если вы и дальше будете избегать сторонних библиотек, то сильно увеличите сроки разработки.
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
за меня уже ответили в этой теме
![]() Цитата:
Короче говоря мне просто в лом =) |
|
|||||
|
Вариант использовать свойство Sprite#hitArea.
http://www.flasher.ru/forum/showthread.php?t=149820 - там примерчик. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:38. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|