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

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

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

Регистрация: Nov 2009
Сообщений: 425
Question Наложение нескольких полупрозрачных изображений

Приветствую!
В чём суть вопроса: есть несколько полупрозрачных изображений, которые при наложении друг на друга по понятным причинам в месте пересечения выдают некую комбинацию своих прозрачностей (см. рис. 1)... и это по ряду причин ну никак не устраивает - хочется что б при наложении результирующее изображение было как на рис. 2 (по сути как если бы эти 2 графических объекта были полностью непрозрачны, засунуты в один мувиклип, стиль отображения которого был бы выставлен как layer (как сделать это кодом, к слову, не нашёл), и уже у него была б изменена прозрачность) =))
Де-факто: одно изображение - тень от некоего статичного объекта (и таких объектов заведомо много), другое - от подвижного (и их так же достаточно много). Сейчас тени от статичных объектов растрируется вместе с основой (полом) при отрисовке сцены, и хочется что б при пересечении теней от подвижных и от статичных объектов (когда тот или иной подвижный объект переместился в область, затенённую статичным) не видно было спаек (см.рис.3), чего добиться не получается =((
Продумывал пару вариантов, но от обоих пришлось отказаться: 1) засовывать заготовки всех теней в контейнер, задавать ему стиль отображения layer,.. но не нашёл как программно установить стиль отображения, и возникли бы трудности по причине того что пришлось бы заводить несколько таких контейнеров, т.к. картинка многоуровневая (несколько полов); 2) отрисовывать маску, скрывающую затенённые области, и маскировать ей контейнер с тенями от подвижных объектов,.. но опять же пришлось бы плодить много масок ввиду многоуровневости картинки (а тут и о ресурсоёмкости до кучи вспомнил), и не решало бы проблему в случае когда пересекаются тени от двух подвижных объектов (а это тоже возможно)...
В какую сторону копать (будет весело если существует некое тривиальное штатное решение подобной задачи, а я в очередной раз сморозил глупость =)) )?

P.S. переименуйте тему, если что
Изображения
 
__________________
можно, даже нужно на "ты", - Я лишён предрассудков относительно "Вы" =))
но чур без фамильярностей...

Старый 01.06.2011, 13:54
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Рисовать походу умеешь) Последний вариант. Берешь getPixel и накладываешь сверху с таким цветом. усе
__________________
Марк Tween

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

Регистрация: Nov 2009
Сообщений: 425
Цитата:
Сообщение от in4core Посмотреть сообщение
Последний вариант. Берешь getPixel и накладываешь сверху с таким цветом. усе
тоже не вариант: пол состоит из плиток, плитки разноцветные и со светотенью
__________________
можно, даже нужно на "ты", - Я лишён предрассудков относительно "Вы" =))
но чур без фамильярностей...

Старый 01.06.2011, 14:01
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
стиль отображения которого был бы выставлен как layer (как сделать это кодом, к слову, не нашёл),
Код AS3:
displayObject.blendMode = BlendMode.LAYER
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 01.06.2011, 14:03
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 5  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Хм. но на рисунке именно так. Однако если плитки разноцветные - вариантов получения 3его не существует. Точнее я даже представить не могу, что должно получится. Представьте стоит дерево, на дерево мы положили человека - при объединении что будет? Намного понятнее что будет при совмещении 2х разновысотных деревьев
__________________
Марк Tween

Старый 01.06.2011, 14:37
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 6  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
1) Делаеть тени непрозрачными, класть в контейнер, контейнеру ставить прозрачность. Просто и тупо.
2) Напейсать простейший шейдер и будет как в 3 - без проблем.
По-моему стандартные фильтры такого не умеют (с цветом - это LIGHTEN, а вот с альфой - нет).
3) Хотя можно скрестить LIGHTEN с ColorMatrixFilter соответствующим (который цвет перегоняет в альфу). Тени тогда (лучше) только серые, но они наверное и так)
Что быстрее - 2 стандартных фильтра или один шейдер - самому интересно, по идее должен один шейдер быстрее быть =)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.


Последний раз редактировалось -De-; 01.06.2011 в 15:58.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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