![]() |
Векторная маска из полупрозрачного битмапа
Задача.
Загружается png-файл, в котором нарисован, например, треугольник. Треугольник красного цвета. Остальной пнг - прозрачный. В моем приложении необходимо обрабатывать клики по этому треугольнику. Но повесить обработчик прямо на пнг я не могу, потому что прозрачная область тоже будет ловить клики. Так что я хочу запихнуть пнг в мувиклип, и поверх него положить маску в форме этого треугольника, чтобы клики попадали только на треугольник. Предполагаемое решение: Анализировать битмап с помощью BitmapData и по координатам непрозрачной области рисовать черные квадратики в graphics клипа mask и потом применить этот клип как маску к битмапу. Правильно?:confused: |
Зачем так сложно. Проверяешь, прозрачен ли пиксель с данной координатой
Код:
if((bitmapData.getPixel32(x, y)>>24) >0) {обработчик непрозрачной области} |
это мне не подходит. Там будет много таких "треугольников", и если один из них попадет под прозрачную область другого, то не сможет принимать клики
|
Цитата:
|
Хм. Спасибо, попробую так. А с курсором в виде руки что можно сделать? Если пиксели все прозрачные, делать useHandCursor = false?
|
Ну можно и так. Только в AS3 нет useHandCursor.
|
|
buttonMode
|
Понял, это правильней. Спасибо.
|
Цитата:
|
| Часовой пояс GMT +4, время: 01:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.