Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Программная маска. (http://www.flasher.ru/forum/showthread.php?t=127673)

v.i.s 20.07.2009 15:07

Программная маска.
 
Есть объект и маска для него. Проблема заключается в том что маска заливается в swf и даже если обект круклый то маска квадратная, кто нибудь делал фигурные маски!? Или как можно по другому сделать фигурную маску?

litebox 20.07.2009 15:11

Нарисуйте маску любой формы, создайте из нее MovieClip и линкуйте в библиотеке, если я правильно понял вопрос, конечно :). Только одно ограничение: маска не может быть похожа на сыр с дырками :)

iflamberg 20.07.2009 15:15

может быть поможет включить cacheAsBitmap и для маски и для мувика под маской

v.i.s 20.07.2009 15:18

мда, плохо то что придется рисовать маски вручную.

iflamberg 20.07.2009 15:35

Я вот попробовал, и теперь не понимаю вашу проблему. Что значит "маска заливается в swf"? Из внешнего swf-файла? В любом случае маска может иметь любую форму и быть даже градиентной картинкой, если включено cacheAsBitmap.

Пример, http://www.gamesworker.com/mask.zip

v.i.s 20.07.2009 15:48

просто лоадером грузятся jpg и конвертирюется в movieclip. Сам объект и маска jpg'шные.

iflamberg 20.07.2009 15:51

Каким местом вы читаете?
"может иметь любую форму и быть даже градиентной картинкой, если включено cacheAsBitmap"

v.i.s 20.07.2009 15:53

спасибо пример помог. еще проблема в том что после преобраование в movieclip объект неправильной формы выделен квадратом. т.е если объект у нас звезда то область этого объекта будет квадрат либо прямоуольник, и реагирование на нажатия мыши будет между вершинами звезды, т.е на прозрачной области, как этого избежать?

Добавлено через 54 секунды
каким способом можно сдеать так что бы прозрачная часть объекта не реагировала на нажатия мыши?

v.i.s 20.07.2009 16:00

Вложений: 1
вот пример того что объекты не правильной формы а выделены квадратами

iflamberg 20.07.2009 16:16

это сложнее. Битмапа-то квадратная.
Есть програмное решение. Смотреть здесь, например, http://blog.erikphansen.com/?p=65 или http://www.actionscript.org/forums/s...45&postcount=5

Идея - смотреть в картинке, как в bitmap'е, какого цвета пиксель под мышкой, и если он с alpha=0 - игнорировать.


Второй способ - забить на все это программирование. Взять картинки с альфами, и для них сделать Bitmap->Trace bitmap. Результат покрасить в один цвет. Получаем отличную маску-мувик для каждого битмапа. И если накладывать события мыши на эту маску - то никаких проблем с квадратными битмапами.


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

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