Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Внедрение *.swf с BlendMode, поледующее применение фильтра - глюк (http://www.flasher.ru/forum/showthread.php?t=183194)

Contemplator 14.08.2012 23:45

Внедрение *.swf с BlendMode, поледующее применение фильтра - глюк
 
Заранее: давно не писал - не смог более лаконично тему обозвать...

Суть вопроса: есть некий *.swf, в котором для маски (градиентной) был применен BlendMode
Код:

маска.blendMode = BlendMode.ALPHA;
контейнер.blendMode = BlendMode.LAYER;
контейнер.addChild(маска);

компилируется под 10 плеер - всё работает как надо...
далее этот *.swf внедряется метатегом [Embed] в другой проект, к содержащему его контейнеру применяется фильтр (при том без разницы какой) - маскирование частично слетает, а именно виден сам спрайт маски поверх объекта вне "контейнера" (см.выше), но на объекты в контейнере действие BlendMode распространяется нормально (всё нормально маскируется).

Вопрос: глюк и посредством BlendMode в данном случае маскировать не получится (сейчас замаскировал посредством контейнер.mask = маска, но не радует меня что контейнер приходится кешировать как битмап)?

Wolsh 15.08.2012 00:26

Что значит "вне контейнера"?

Contemplator 15.08.2012 00:36

Цитата:

Сообщение от Wolsh (Сообщение 1092261)
Что значит "вне контейнера"?

в исходном *.swf помимо контейнера с примененным BlendMode на 0 уровне лежит спрайт с фоном =)

Art_133 15.08.2012 09:47

Вы как внедряете swf?
Попробуйте этот метод. Сам лично не пробовал, сегодня на работе попробую.

caseyryan 15.08.2012 11:12

Цитата:

Сам лично не пробовал, сегодня на работе попробую.
Могу сказать заранее. Метод рабочий. Хотя какое это имеет отношение к вопросу, не понятно.

dimarik 16.08.2012 00:35

Цитата:

к содержащему его контейнеру применяется фильтр
Может быть в этом дело? У контейнера уже стоит BlendMode.LAYER. Может нужно снять его и поставить его контейнеру контейнера?

Contemplator 16.08.2012 20:00

Цитата:

Сообщение от Art_133 (Сообщение 1092277)
Вы как внедряете swf?
Попробуйте этот метод. Сам лично не пробовал, сегодня на работе попробую.

Вне зависимости от того в качестве чего внедрять - результат один и тот же ;)
Цитата:

Сообщение от dimarik (Сообщение 1092401)
Может быть в этом дело? У контейнера уже стоит BlendMode.LAYER. Может нужно снять его и поставить его контейнеру контейнера?

структура такова:
Код:

оболочка
    контейнер (контейнер в оболочке, к которой применяются фильтры)
          [внедряемый *.swf
              контейнер (BlendMode.LAYER)
                    спрайт с маской (BlendMode.ALPHA)
                    маскируемый контент
              прочий контент]
    прочий контент

т.е. применяя BlendMode к контейнеру в который запихивается *.swf - слетает маскирование, а применяя к этому контейнеру фильтр - получается косяк =)


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

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