![]() |
|
||||||||||
|
|||||
|
Написал как-то функцию, которая делает мувик черно-белым.
function setColorAdjust() {
var a = arguments[0];
var t = (a.adjust != undefined ? a.adjust : 1);
var r = 0.212671;
var g = 0.715160;
var b = 0.072169;
var filt = 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]);
a.mc.adjust = t;
a.mc.filters = new Array(filt);
}
пример вызова: setColorAdjust({mc:_root.mc, adjust:1}); |
|
|||||
|
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
import flash.filters.ColorMatrixFilter;
import mx.events.EventDispatcher;
import mx.utils.Delegate;
class 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) {
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'});
}
}
}
Класс делает фотографию чёрно-белой, а также возвращает посредством вызова метода в обычное состояние. Кстати вами написанная функция мало чем отличается от кода про который я говорил, вроде одно и тоже, разница есть маленькая - тот работает, а этот нет. Последний раз редактировалось screamge; 26.05.2007 в 04:01. |
|
|||||
|
Цитата:
import flash.filters.ColorMatrixFilter; import mx.events.EventDispatcher; import mx.utils.Delegate; сорри - уже поздно ночью было) |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
Цитата:
![]() Последний раз редактировалось screamge; 26.05.2007 в 15:01. |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:30. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|