Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Возможно ли инвертировать маскировку? (http://www.flasher.ru/forum/showthread.php?t=89251)

Andrew Drone 11.12.2006 11:36

Возможно ли инвертировать маскировку?
 
можно ли сделать так чтобы при наложении Маски на Клип отображалась только та часть Клипа которая не находится под Маской?

Клип полупрозрачный и закрывает собой Фон

вариант инверсии Маски не подходит т.к. при маскировании используется только внешний контур маскирующего клипа :(

вариант дублирования Фона тоже не подходит т.к. тормоза при этом просто ужасные

----
вторую неделю мозги ломаю...
8.0

silin 11.12.2006 12:46

>>и закрывает собой Фон

тогда можно попробовать положить фон выше клипа и маскировать его, а не клип, т.е. закрывать на клипе фоном то, что под маской..

Andrew Drone 11.12.2006 12:49

Цитата:

Сообщение от silin
>>и закрывает собой Фон

тогда можно попробовать положить фон выше клипа и маскировать его, а не клип, т.е. закрывать на клипе фоном то, что под маской..

неа, Клип должен быть полупрозрачным и через него видно Фон. то место Клипа где Маска отображаться не должно (типа непрозрачность 0%)

chingachgoog 11.12.2006 14:02

Cделай маску с дыркой под клип.

Andrew Drone 11.12.2006 14:27

Цитата:

Сообщение от chingachgoog
Cделай маску с дыркой под клип.

не катит
маска накладывается по внешнему контуру. дырка игнорируется

chingachgoog 11.12.2006 14:49

Точно, в режиме setMask не работает, только когда вручную... :(

Andrew Drone 11.12.2006 15:08

угу (
блин я скоро повешусь

chingachgoog 11.12.2006 15:09

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

Andrew Drone 11.12.2006 15:34

Цитата:

Сообщение от chingachgoog
Тогда можно попробывать разбить маскируемый клип (и маску) на составные незамкнутые части. Например если маскируемый клип круг, то на два полукруга.

хм, это я не пробовал
но, по-моему, у Гурского написано, что ежели в качестве маски используется клип с несколькими объектами то для маскировки используется тот у которого меньше глубина...

ребята, у кого под рукой флеш, есть проверьте пожалуйста, а то я к машине с флешем раньше чем завтра утром не доберусь

chingachgoog 11.12.2006 15:53

Не фича не в этом.
У тебя вместо одного маскируемого клипа с маской будет несколько маскируемых клипов (каждый со своей маской), которые в сумме повторят исходный маскируемый клип.

Думаю, это будет тормозить машину много меньше, чем дублирование заднего фона.

Andrew Drone 11.12.2006 16:07

не, теперь ты меня не понял

1. берем маску с дыркой
2. режем напополам посередине в районе дырки
3. обе половинки преобразуем в клипы
4. запихиваем в пустой мувиклип "maska" так чтобы между ними не было зазора
5. maska.setMask("klip");
----
вот что интересно: будет дырку видно или нет?

потому как у Гурского крайне непонятно написано: с одной стороны можно в качестве маски применять несколько объектов если их объединить в одном клипе, но с другой стороны, работать будет только нижний слой (уровень)

честно говоря дословно не помню как там написано...


----
ЗЫ. Вариант отпадает. т.к. этим способом нельзя сделать две и больше дырки

CorC 12.12.2006 10:17

да на 1 клип 2 маски нельзя как и на 2 клипа 1 маску
но то что сверху написано может прокатить

Цитата:

Сообщение от Andrew Drone
запихиваем в пустой мувиклип "maska" так чтобы между ними не было зазора

так дырки не будет клип то 1 по нему внешнему контуру и будет маска

Andrew Drone 13.12.2006 17:03

хм, ну а как тогда быть?

CorC 13.12.2006 17:22

2 клипа 2 маски

Andrew Drone 13.12.2006 18:25

так проблема как раз в том что 2 Фона и 2 Маски нельзя из-за излишних тормозов

iNils 13.12.2006 18:32

http://www.flasher.ru/forum/showpost...61&postcount=6

bbexp 13.12.2006 20:52

Есть один фокус. Если нужна маска с дыркой посередине, то просто делается разрез.
Рисуется линия hairline вертикально (или гризонтально - надо в каждом конкретном случае смотреть) и эта линия трансформируется в заливку.
Потом она удаляется - получаем тонкий разрез.
Если нужно - увеличиваемся до 2000% зума и делаем разрез еще тоньше.

В большинстве случаев это отлично работает с масками сделанными вручную.

Andrew Drone 14.12.2006 02:14

все хорошо, а как сделать 2-3-4-10 дырок? тупо накладывать маску на маску? а при перемещении одной дырки по отношению к другим или того больше независимом перемещении дырок это ж сколько уровней вложения будет? все-таки не додумались разрабы...

если сделать дырку с прозрачностью 1% при многократном наложении все-таки заметно будет

а вот вариант с тонкой линией в принципе ничего, но... см. начало поста

iNils 14.12.2006 21:59

Есть еще вариант с BitmapData.
С помощью метода draw, загнать мувик в картинку и наложить на нее маску там. Но если содержимое мувика анимированно, то придется делать это каждый фрейм.


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

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