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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.03.2011, 15:14
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию БлендМоды - ERASE, вопрос обрезки

Есть спрайт-контейнер, 1 чайлд - картинка. 2 чайлд заливка со слабой альфой, 3й чайлд типа* маска.

Задача такая. Нужно, чтобы 3й чайлд являлся как бы ИНВЕРТИРОВАННОЙ* маской для 2го чайлда.

Наглядно это будет выглядеть так : картинка, сверху темная область и только небольшой кусок в центре вырезан из темной области, и видна чистая картинка.

Попробовал через ERASE , но эффекта не получил, потому что он картинку ( 1 чайлд ) тоже режет.
Сразу говорю, что последовательность и расположение объектов в спрайте строго как написано выше. Единственное что можно менять ( удалять, перемещать в другой спрайт и т.д. ) это 2 чайлд - темная заливка.

Какие у вас есть идеи? Задача уверен тривиальная

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
ERASURE стирает фон внутри контейнера в котором он находится, но у самого контейнера должен быть режим LAYER. То есть, чтобы маска затирала альфу, но не трогала картинку, схема должна быть такой:

Код:
Спрайт-контейнер:
|
+-Спрайт-контейнер (LAYER):
| |
| +-Спрайт-контейнер с маской (ERASURE)
| |
| +-Заливка
|
+-Картинка
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
iNils спасибо за помощь. Но как бы суть мне и так была понятна, как нужно сделать и я не просто так написал, что объекты должны стоять в такой последовательности как я описал. iNils может есть другая методика какая?! вот я к чему

Добавлено через 7 минут
Код AS3:
var sp:Sprite = new Sprite();
addChild(sp);
 
sp.graphics.beginFill(0,1);
sp.graphics.lineTo(200,0);
sp.graphics.lineTo(200,200);
sp.graphics.lineTo(0,200);
sp.graphics.lineTo(0,0);
sp.graphics.moveTo(50,50);
sp.graphics.lineTo(100,50);
sp.graphics.lineTo(100,100);
sp.graphics.lineTo(50,100);
sp.graphics.lineTo(50,50);
Пока что тока такой способ нашел для себя...

Старый 09.03.2011, 22:20
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
а drawRect чем не угодил?
__________________
Reality.getBounds(this);

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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