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

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

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

Регистрация: Jul 2004
Адрес: от Москвы до самых до окраин
Сообщений: 172
По умолчанию возможно применить фильтр после transform?

В объекте mc вложено два объекта mc1 и mc2. Объекту mc.mc1 задается цвет при помощи transform. После чего необходимо применить фильтр. Но по всей видимости фильтр после transform не работает. Работает только по отношению к объектам, к которым transform не применялся.
Вот код:
Код AS3:
import flash.filters.BitmapFilterQuality;
import flash.filters.BitmapFilterType;
import flash.filters.GradientBevelFilter;
import flash.geom.ColorTransform;
 
// меняем цвет
var colorInfo:ColorTransform = mc.mc1.transform.colorTransform;
colorInfo.color = 0x003399;
mc.mc1.transform.colorTransform = colorInfo;
 
// применяем фильтр имитирующий полупрозрачную белую пелену
// при наведении курсора и удаляем при снятии наведения
mc.addEventListener(MouseEvent.MOUSE_OVER, listener1);
mc.addEventListener(MouseEvent.MOUSE_OUT, listener2);
function listener1(e:MouseEvent) {
	var sellFilter:GradientBevelFilter;
	sellFilter = new GradientBevelFilter(0, 45, [0xFFFFFF], [.6], [0], 1, 1, 1,
	BitmapFilterQuality.HIGH, BitmapFilterType.INNER, false);
	e.target.filters = [sellFilter];
}
function listener2(e:MouseEvent) {
	e.target.filters = null;
}
Помогите поменять цвет объекта до применения фильтра. Наверняка есть другой способ?

Старый 07.04.2011, 02:25
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 2  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
У меня тоже ничего не получилось

Может лучше
Код AS3:
function listener1(e:MouseEvent) {
	e.target.alpha = .5;
}
function listener2(e:MouseEvent) {
	e.target.alpha = 1;
}
__________________
Нормально делай — нормально будет!

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

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
я не пробовал ваш код, но что мешает сделать еще одну вложенность для мувиклипа? для одной вложенности применяем фильтр, для другой -трансформ
__________________
сайт, vk

Старый 07.04.2011, 09:49
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>Но по всей видимости фильтр после transform не работает

фильтр-то работает, но transform.color - это полная 'закраска' объекта, в том числе и того, что фильтр наделал
сравни с таким, например
Код AS3:
var colorInfo:ColorTransform = mc.mc1.transform.colorTransform;
//colorInfo.color = 0x003399;
colorInfo.greenOffset = 0x33;
colorInfo.blueOffset = 0x99;

Старый 07.04.2011, 11:08
dedsky вне форума Посмотреть профиль Отправить личное сообщение для dedsky Найти все сообщения от dedsky
  № 5  
Ответить с цитированием
dedsky
 
Аватар для dedsky

Регистрация: Jul 2004
Адрес: от Москвы до самых до окраин
Сообщений: 172
Цитата:
Сообщение от silin Посмотреть сообщение
сравни с таким, например
Код AS3:
var colorInfo:ColorTransform = mc.mc1.transform.colorTransform;
//colorInfo.color = 0x003399;
colorInfo.greenOffset = 0x33;
colorInfo.blueOffset = 0x99;
цвет не меняется

Старый 07.04.2011, 11:41
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>цвет не меняется
тебя непонятно: какой цвет и когда не меняется ?

я имел ввиду, что под colorTransform.color=0x003399 все всегда будет именно 0x003399 (во всяком случае для такого фильтра) и предлагал посмотреть действие с colorTransform 'помягче',
в моем тесте все меняется

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

Регистрация: Jul 2004
Адрес: от Москвы до самых до окраин
Сообщений: 172
Цитата:
Сообщение от silin Посмотреть сообщение
я имел ввиду, что под colorTransform.color=0x003399 все всегда будет именно 0x003399 (во всяком случае для такого фильтра) и предлагал посмотреть действие с colorTransform 'помягче',
в моем тесте все меняется
Вот неработающий пример. Цвет левого клипа (mc.mc1) при компиляции ролика должен стать синим, но не меняется.
Вложения
Тип файла: rar transform_filters.rar (5.3 Кб, 74 просмотров)

Старый 07.04.2011, 12:09
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 8  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
еще раз:
чтоб сделать конкретно синим, colorTransform.color=0x003399 применен правильно, но синим он будет всегда (и под фильтром тоже), поменять цвет с помощью фильтра при таком colorTransform не получится
при более слабом colorTransform, только offset синего канала, например, действие фильтра будет видно, но исходный цвет не будет радикально синим
вот такая вилка..
это по сабжу почему не видно действия фильтра
а по самой задачке не оч. понятно зачем тут вообще фильтр, тем более GradientBevelFilter

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

Регистрация: Jul 2004
Адрес: от Москвы до самых до окраин
Сообщений: 172
Спасибо за объяснения.
Есть такая задача, в игре-раскраске при наведении курсора на спрайты необходимо эти спрайты как-то красивенько подсвечивать. Проще альфой, но так создается впечатление затемнения объекта, а хотелось наоборот - осветлять его.

Да, еще, с Днем Варенья!

Старый 07.04.2011, 12:29
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 10  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>как-то красивенько подсвечивать
тут ColorMatrixFilter в тему, пример: http://silin.su/#AS3/filters/color
во многих твинерах есть встроенные фичи управления цветом/тинтом/и т.д

>>Да, еще, с Днем Варенья!
спасибо

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

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

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


 


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


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