| nOobCrafter |
19.03.2009 17:15 |
Может кому надо будет, на основе найденных тут материалов скрестил, ежа и ужа в результате получил довольно неплохой скриптик:
Код AS1/AS2:
import flash.filters.ColorMatrixFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*;
var r:Number = 77/255; // собсна цвета
var g:Number = 150/255; // собсна цвета
var b:Number = 25/255; // собсна цвета
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip):Void
{
// center movie clip instance on Stage
target_mc._x = (Stage.width - target_mc._width) / 2;
target_mc._y = (Stage.height - target_mc._height) / 2;
target_mc.watch("grayscale", grayscaleWatcher, target_mc);
// animate the target_mc movie clip between 0 and 1 grayscale
// 1 - серый спектр, 0 цветной.
var myTween:Tween = new Tween(target_mc, "grayscale", None.easeOut, 0, 1, 1, true);
target_mc.onRollOver = function()
{
var myTween:Tween = new Tween(this, "grayscale", None.easeOut, this.grayscale, 0, 1, true);
}
target_mc.onRollOut = function()
{
var myTween:Tween = new Tween(this, "grayscale", None.easeOut, this.grayscale, 1, 1, true);
}
};
this.createEmptyMovieClip("img_mc", 10);
var img_mcl:MovieClipLoader = new MovieClipLoader();
img_mcl.addListener(mclListener);
img_mcl.loadClip("inno_error.jpg", img_mc); // указываем картинку..
function grayscaleWatcher(prop:String, oldVal:Number, newVal:Number, target_mc:MovieClip):Number
{
target_mc.filters = [new ColorMatrixFilter([r * newVal + 1 - newVal, g * newVal, b * newVal, 0, 0,
r * newVal, g * newVal + 1 - newVal, b * newVal, 0, 0,
r * newVal, g * newVal, b * newVal + 1 - newVal, 0, 0,
0, 0, 0, 1, 0])];
return newVal;
};
|