Al cargar elementos desde la Librería/Biblioteca (en adelante la llamaremos Librería), los linkeamos y así sólo instanciaríamos la clase, pero esto no ocurre exactamente igual con una imagen.
Una imagen en la Librería extiende de la clase BitmapData y esta necesita 2 parámetros como mínimo.
Código :
var _image:BitmapData = new MyImage(0, 0); // aunque sean ceros la imagen mantiene su tamaño original // y sólo se aplican los ceros para este caso, // un "new BitmapData(0,0)" nos daría error.
Código :
package com.otakurzo.utils
{
import flash.utils.getDefinitionByName;
import flash.utils.getQualifiedSuperclassName;
public function getAsset(nameLinked:String):*
{
var res:*;
var cAsset:Class = Class(getDefinitionByName(nameLinked));
if ( getQualifiedSuperclassName(cAsset) == "flash.display::BitmapData" )
res = new cAsset(0,0);
else
res = new cAsset();
return res;
}
}Código :
import com.otakurzo.utils.getAsset;
var myFont:Font = getAsset('Font1');
var myImage:BitmapData = getAsset('Image1');
var myClip:MovieClip = getAsset('Clip1');
The Fricky! :