![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
|
Задача.
Загружается png-файл, в котором нарисован, например, треугольник. Треугольник красного цвета. Остальной пнг - прозрачный. В моем приложении необходимо обрабатывать клики по этому треугольнику. Но повесить обработчик прямо на пнг я не могу, потому что прозрачная область тоже будет ловить клики. Так что я хочу запихнуть пнг в мувиклип, и поверх него положить маску в форме этого треугольника, чтобы клики попадали только на треугольник. Предполагаемое решение: Анализировать битмап с помощью BitmapData и по координатам непрозрачной области рисовать черные квадратики в graphics клипа mask и потом применить этот клип как маску к битмапу. Правильно? ![]() |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,155
|
Зачем так сложно. Проверяешь, прозрачен ли пиксель с данной координатой
Вроде так ![]() |
|
|||||
|
Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
|
это мне не подходит. Там будет много таких "треугольников", и если один из них попадет под прозрачную область другого, то не сможет принимать клики
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Это почему? Проверили прозрачность верхнего, поняли, что прозрачный, проверили прозрачность пикселя на картинке ниже и так далее.
|
|
|||||
|
Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
|
Хм. Спасибо, попробую так. А с курсором в виде руки что можно сделать? Если пиксели все прозрачные, делать useHandCursor = false?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну можно и так. Только в AS3 нет useHandCursor.
|
|
|||||
|
Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
|
|
|
|||||
|
Регистрация: Oct 2005
Адрес: Russia, Irkutsk
Сообщений: 742
|
buttonMode
__________________
smival.com |
|
|||||
|
Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
|
Понял, это правильней. Спасибо.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:09. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| alpha , bitmapdata , маска |
|
|