desaturate MovieClip prototype          

Clasificado bajo: AS2 (deprecated), Prototipos, BitmapData — drus @ 11:22 am

Este prototipo pasa a blanco y negro el movieClip sobre el que se aplica. La primera versión sencillamente desatura, y la segunda crea un duplicado sobre el mc original para tener disponible el item original en color, para por ejemplo un rollOver ;)

Actionscript:
import flash.filters.ColorMatrixFilter;
MovieClip.prototype.desaturate = function():Void  {
    var bn_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]);
    this.filters = [bn_filter];
};
//Uso:
mc.desaturate();

Actionscript:
import flash.filters.ColorMatrixFilter;
MovieClip.prototype.desaturateAndDuplicate = function():Void  {
    var bn_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]);
    var bmp = new flash.display.BitmapData(this._width, this._height, true, 0x00000000);
    var bn:MovieClip = this._parent.createEmptyMovieClip("bn_mc", 2);
    bn.attachBitmap(bmp,0);
    bmp.draw(this);
    bn.filters = [bn_filter];
    this._visible = false;
};
//Uso:
mc.desaturateAndDuplicate();

Imprescindible haber importado el filtro ColorMatrixFilter.




smoothBitmap MovieClip Prototype          

Clasificado bajo: AS2 (deprecated), Prototipos, BitmapData — drus @ 5:21 pm

Este sencillo prototipo se encarga de convertir un movieclip en imagen con la propiedad smooth activada para poder escalarlo sin ese horrible efecto pixelado. Combinado con MovieClipLoader es especialmente útil para escalar imágenes externas cargadas dinámicamente con un poco de dignidad.

Actionscript:
MovieClip.prototype.smoothBitmap = function():Void  {
    var bmp = new flash.display.BitmapData(this._width, this._height, true, 0x000000);
    bmp.draw(this);
    this.attachBitmap(bmp,0,"auto",true);
};
//Uso:
var dummyholder:MovieClip = this.createEmptyMovieClip("holder", this.getNextHighestDepth());
var mcl:MovieClipLoader = new MovieClipLoader();
var mcl_ls:Object = new Object();
mcl.addListener(mcl_ls);
mcl_ls.onLoadInit = function(target:MovieClip):Void  {
    target.smoothmeslowlyplease();
};
mcl.loadClip("http://drusunlimited.com/portfolio/img/tarjeta.png",dummyholder);

Ojo con el consumo de memoria.




Siguiente página »

AS_toolKit | Powered by WordPress | Skinned by Drus Unlimited | RSS Feed | Copyleft