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

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

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

Регистрация: Jul 2007
Сообщений: 7
По умолчанию Проблема с маской и заливкой

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

Проблему решил масками и вручную отрисованными прямоугольниками нужного мне цвета.

-Полупрозрачное изображение с тенями и бликами
-Маска волос
-пустой мувик в который програмно рисуем квадрат цвета волос
-маска кожи
-пустой мувик
и.т.д.

Все было хорошо и успешно работало пока не начал анимировать.
Как только в маске появились кейфреймы заливка немедленно исчезла...
т.е. Как только анимация маски доходит до кейфрейма (или выполняет переход gotoAndPlay) изображение исчезает!
Разумеется можно в каждом кадре перерисовывать этти прямоугольники но масок и прямоугольников много и менятся они будут в каждом кадре, такое решение крайне ресурсоемко...

Вопрос. (а вернее несколько)
1.Можно как либо избавится от этой проблемы? Возможно я в чем то ошибся при настройках?

2.Можно ли каким либо другим образом управлять цветом этих прямоугольников? Желательно менее затратный чем фильтры

Старый 09.10.2008, 15:59
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 2  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от hludens Посмотреть сообщение
Как только в маске появились кейфреймы заливка немедленно исчезла...
А можно простейший пример привести? Ну там квадрат и круглая маска? Когда "немедленно исчезает заливка"?

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Да есть такая проблема, не раз сталкивался. Но поскольку я не аниматор и анимации у меня очень короткие и несложные, решал проблему просто - анимация маски - отдельный клип, маскируемая анимация - второй клип. Маску располагаем сверху и делаем маской. Смысл в том, чтоб именно собрать анимацию в один клип и ЕГО сделать маской, а не двигать саму маску, используя кейфреймы. Все кейфреймы должны остаться ВНУТРИ клипа-маски. Там где маска назначена маской, должен быть только один кейфрейм - первый.
Признаю, что для длинных и сложных анимаций такой подход очень заморочен. Но если уже все готово и совмещено по кадрам, переделать очень просто - скопировать фреймы слоя с анимацией маски и вставить их в новый символ.
Удачи.
__________________
Reality.getBounds(this);

Старый 09.10.2008, 16:14
hludens вне форума Посмотреть профиль Отправить личное сообщение для hludens Найти все сообщения от hludens
  № 4  
Ответить с цитированием
hludens

Регистрация: Jul 2007
Сообщений: 7
2 Wolsh
Сам только что нашел аналогичное решение. Но количество слоев и анимаций делает его крайне э... замороченным
просто мысль о последующеем редактировании приводит в уныние...

Может кто то додумается до еще какого либо способа?
Это пример...
http://www.flasher.ru/forum/attachme...1&d=1223550823
Вложения
Тип файла: zip 1_mask_problem.zip (4.8 Кб, 118 просмотров)

Старый 09.10.2008, 19:51
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 5  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
В примере нет никакой проблемы с маской: замените програмное рисование обычным и убедитесь.
В примере типичный конфликт ручной и программной анимации - только недавно разбирали.

Старый 10.10.2008, 11:39
hludens вне форума Посмотреть профиль Отправить личное сообщение для hludens Найти все сообщения от hludens
  № 6  
Ответить с цитированием
hludens

Регистрация: Jul 2007
Сообщений: 7
2 chingachgoog
э... как бы помягче сказать, вы видимо невнимательно прочли первое сообщение.
Замена програмного рисования ручным невозможно, поскольку выбор цвета осуществляется в ходе работы программы...
В этом то и состоит проблемма! А то что маска вполне успешно работает с созданными вручную объектами мне известно

Собственно в моем первом сообщении есть вопрос по поводу другого варианта управления цветом - может вы предложите что либо?

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Да без проблем. Класс Color и его метод setRGB(). Правда считается depricated)))
__________________
Reality.getBounds(this);

Старый 10.10.2008, 13:25
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 8  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от hludens Посмотреть сообщение
2 chingachgoog
э... как бы помягче сказать, вы видимо невнимательно прочли первое сообщение.
Я даже усугублю: я внимательно прочел название темы и потому повторяю: никакой проблемы с маской и заливкой нет, а есть совсем другая проблема (см. выше).

Старый 10.10.2008, 16:12
hludens вне форума Посмотреть профиль Отправить личное сообщение для hludens Найти все сообщения от hludens
  № 9  
Ответить с цитированием
hludens

Регистрация: Jul 2007
Сообщений: 7
2 Wolsh
А можно какой либо пример?
А впрочем уже сам разобрался!
var my_color:Color = new Color(my_mc);
my_color.setRGB(0xFF0000);
Вот что значит точный пинок в заданном направлении! Спасибо!
Решается половина проблем, обойдусь тогда и без масок!

2 chingachgoog
ну с таким уточнением согласен Название темы действительно дал недостаточно точно. стоило уточнить что заливка програмная.
Можно конечно было как название дисертации завернуть, типа "Некоторые аспекты применения анимированных масок применительно к програмным заливкам в среде Адоб Флешь 8.0"... или даже похитрее...

Старый 11.10.2008, 15:44
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 10  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
hludens wrore:
> Вопрос. (а вернее несколько)
> 1.Можно как либо избавится от этой проблемы? Возможно я в чем то ошибся при настройках?


ColorMatrixFilter Class

> 2.Можно ли каким либо другим образом управлять цветом этих прямоугольников? Желательно менее затратный чем фильтры

Способ с масками более затратный.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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