|
|
|||||
черно-белый
Написал как-то функцию, которая делает мувик черно-белым.
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,784
|
|
|
|||||
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
Цитата:
Последний раз редактировалось screamge; 26.05.2007 в 15:01. |
Часовой пояс GMT +4, время: 22:01. |
|
« Предыдущая тема | Следующая тема » |
|
|