Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.09.2008, 16:16
vmakhotkin вне форума Посмотреть профиль Отправить личное сообщение для vmakhotkin Найти все сообщения от vmakhotkin
  № 1  
Ответить с цитированием
vmakhotkin
 
Аватар для vmakhotkin

Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
По умолчанию Векторная маска из полупрозрачного битмапа

Задача.
Загружается png-файл, в котором нарисован, например, треугольник. Треугольник красного цвета. Остальной пнг - прозрачный. В моем приложении необходимо обрабатывать клики по этому треугольнику. Но повесить обработчик прямо на пнг я не могу, потому что прозрачная область тоже будет ловить клики. Так что я хочу запихнуть пнг в мувиклип, и поверх него положить маску в форме этого треугольника, чтобы клики попадали только на треугольник.

Предполагаемое решение: Анализировать битмап с помощью BitmapData и по координатам непрозрачной области рисовать черные квадратики в graphics клипа mask и потом применить этот клип как маску к битмапу.

Правильно?

Старый 20.09.2008, 16:40
flash33 вне форума Посмотреть профиль Отправить личное сообщение для flash33 Найти все сообщения от flash33
  № 2  
Ответить с цитированием
flash33
 
Аватар для flash33

Регистрация: Nov 2005
Сообщений: 1,155
Зачем так сложно. Проверяешь, прозрачен ли пиксель с данной координатой
Код:
if((bitmapData.getPixel32(x, y)>>24) >0) {обработчик непрозрачной области}
Вроде так

Старый 20.09.2008, 17:24
vmakhotkin вне форума Посмотреть профиль Отправить личное сообщение для vmakhotkin Найти все сообщения от vmakhotkin
  № 3  
Ответить с цитированием
vmakhotkin
 
Аватар для vmakhotkin

Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
это мне не подходит. Там будет много таких "треугольников", и если один из них попадет под прозрачную область другого, то не сможет принимать клики

Старый 20.09.2008, 17:35
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от vmakhotkin Посмотреть сообщение
это мне не подходит. Там будет много таких "треугольников", и если один из них попадет под прозрачную область другого, то не сможет принимать клики
Это почему? Проверили прозрачность верхнего, поняли, что прозрачный, проверили прозрачность пикселя на картинке ниже и так далее.

Старый 20.09.2008, 18:28
vmakhotkin вне форума Посмотреть профиль Отправить личное сообщение для vmakhotkin Найти все сообщения от vmakhotkin
  № 5  
Ответить с цитированием
vmakhotkin
 
Аватар для vmakhotkin

Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
Хм. Спасибо, попробую так. А с курсором в виде руки что можно сделать? Если пиксели все прозрачные, делать useHandCursor = false?

Старый 20.09.2008, 18:44
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Ну можно и так. Только в AS3 нет useHandCursor.

Старый 20.09.2008, 19:06
vmakhotkin вне форума Посмотреть профиль Отправить личное сообщение для vmakhotkin Найти все сообщения от vmakhotkin
  № 7  
Ответить с цитированием
vmakhotkin
 
Аватар для vmakhotkin

Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
Как это нет? http://livedocs.adobe.com/flash/9.0/...#useHandCursor

Старый 20.09.2008, 19:24
$mival вне форума Посмотреть профиль Отправить личное сообщение для $mival Найти все сообщения от $mival
  № 8  
Ответить с цитированием
$mival
 
Аватар для $mival

Регистрация: Oct 2005
Адрес: Russia, Irkutsk
Сообщений: 742
buttonMode
__________________
smival.com

Старый 20.09.2008, 19:51
vmakhotkin вне форума Посмотреть профиль Отправить личное сообщение для vmakhotkin Найти все сообщения от vmakhotkin
  № 9  
Ответить с цитированием
vmakhotkin
 
Аватар для vmakhotkin

Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
Понял, это правильней. Спасибо.

Старый 20.09.2008, 20:26
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от vmakhotkin Посмотреть сообщение
А, пардон, осталось, значит.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
alpha , bitmapdata , маска

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:54.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.