Форум 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=206407)

Marlin 02.02.2014 16:49

Маска на контейнер объектов, исключая один объект
 
Здравствуйте, появилась проблема есть контейнер, внутри него много объектов с тенями, на контейрнер нужно наложить маску, но так , чтобы на один объект внутри она не действовала, можно ли такое сделать? не охото к каждому объекту применять маску по отдельности, также желательно не вытаскивать объект(который должен быть без маски) из контейнера.

PainKiller 03.02.2014 10:41

Невозможно. И не понял в чем проблема вытащить 1 объект из контейнера?

Marlin 03.02.2014 12:59

суть такая, приходит джейсон с объектами, в каждом объекте хранится номер слоя объекта, и я создаю объекты по параметрам, полученным в джейсоне, и рассовываю их на нужный уровень. и в середине допустим у меня есть слой, по которому все объекты должны обрезаться, кроме него самого. этот объект рисуется через drawPath() с задание толщины линии, тоесть если я наложу маску на него по копии его самого, то толщина линии уменьшится вдвое, так как маска обрезает не учитываю толщину линий. а мне надо сохранить линию неизменной. Пока писал придумал два варианта.

1.Отрисовать этот слой в битмапе, и маску сделать битмапой.
2. Сами линии рисовать узкими прямоугольниками.


Вытащить нельзя, так как некоторые слои(из контейнера) должны быть выше этого слоя, а некоторые ниже.

djyamato 03.02.2014 13:27

может быть так:
разделить объекты на группы (Sprite):
- объекты над слоем, к которому не нужно применять маску
- объекты под слоем, к которому не нужно применять маску

К спрайтам применить alphamask (http://www.flashandmath.com/howtos/alphamask/), а можно и простую маску
сложить объекты в контейнер в последовательности :
- 1й Sprite с маской
- слой без маски
- 2й Sprite с маской


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

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