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

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

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

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
По умолчанию программно adjust color, saturation в 0

хочу обесцветить мувик. программно.
для этого, я так понимаю, в filters добавляется ColorMatrixFilter. только какую матрицу ему писать я просто не представляю =((( это не так очевидно, как с Colortransform =(((
__________________
~
Never trouble trouble till trouble troubles you!

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

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Обесцветить == сделать чёрно-белой?
__________________
Free-lance | Twitter | Me

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

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
да, как в теме указано - насыщение цветом в 0
__________________
~
Never trouble trouble till trouble troubles you!

Старый 12.10.2007, 15:20
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 4  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Код:
import flash.filters.ColorMatrixFilter;
import mx.events.EventDispatcher;
import mx.utils.Delegate;

class com.screamge.effects.Tint {
	public var addEventListener:Function;
	private var dispatchEvent:Function;
	private var __mc:MovieClip;
	private var __des:Number = 0.01;
	private var __desaturation:Number = 0;
	
	public function Tint(mc:MovieClip) {
		EventDispatcher.initialize(this);
		__mc = mc;
		tinter ();
	}
	
	public function set des (num:Number):Void {
		__des = num;
	}
	
	public function Back ():Void {
		__mc.onEnterFrame = Delegate.create (this, this.BackTint);
	}	
	
	private function BackTint ():Void {
		__desaturation -= __des;
		__mc.filters = new Array(getDesaturationFilter(__desaturation));
		if (__desaturation <= 0){
			delete __mc.onEnterFrame;
				dispatchEvent ({type:'onFinish'});
		}
	}
	
	private function getDesaturationFilter(t:Number):ColorMatrixFilter {
		t = t ? t : 1;
		var r:Number = 0.212671;
		var g:Number = 0.715160;
		var b:Number = 0.072169;
		return new ColorMatrixFilter([t*r+1-t, t*g, t*b, 0, 0, t*r, t*g+1-t, t*b, 0, 0, t*r, t*g, t*b+1-t, 0, 0, 0, 0, 0, 1, 0]);
	}
	
	private function tinter():Void {
		__mc.onEnterFrame = Delegate.create (this, this.onEnterHandle);
	}
	
	private function onEnterHandle ():Void {
		__desaturation += __des;
		__mc.filters = new Array(getDesaturationFilter(__desaturation));
		if (__desaturation >= 1){
			delete __mc.onEnterFrame;
			dispatchEvent ({type:'onFinish'});
		}
	}	
}
Надеюсь разберёшьсь
__________________
Free-lance | Twitter | Me

Старый 12.10.2007, 15:29
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 5  
Ответить с цитированием
Chas
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
разобрался.
все классно, только, блин, ну откуда ты взял вот эти числа??
Код:
	var r:Number = 0.212671;
	var g:Number = 0.715160;
	var b:Number = 0.072169;
	return new ColorMatrixFilter([t*r+1-t, t*g, t*b, 0, 0, t*r, t*g+1-t, t*b, 0, 0, t*r, t*g, t*b+1-t, 0, 0, 0, 0, 0, 1, 0]);
__________________
~
Never trouble trouble till trouble troubles you!

Старый 12.10.2007, 15:36
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 6  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Полегче спроси что-нибудь Это переделанный под класс фрейм код, писал давно так что линк на оригинал врядли найду.
__________________
Free-lance | Twitter | Me

Старый 12.10.2007, 18:04
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 7  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
у __etc на сайте есть класс извращений с цветом - там есть такое
__________________
: M F N W :

Старый 12.10.2007, 18:14
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
http://etcs.ru/blog/as2/ru/etcs/filters/colorfilter/

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну в целом для обесцвечивания достаточно этого
Код:
import flash.filters.ColorMatrixFilter;
var myColorMatrix_filter:ColorMatrixFilter = new ColorMatrixFilter([0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0, 0, 0, 1, 0]);
my_mc.filters = [myColorMatrix_filter];
__________________
Reality.getBounds(this);

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

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

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


 


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


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