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.
Es por esta razón que quise hacerme una pequeña función global para evitar este paso.
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; } }
Y la usaríamos así:
Código :
import com.otakurzo.utils.getAsset; var myFont:Font = getAsset('Font1'); var myImage:BitmapData = getAsset('Image1'); var myClip:MovieClip = getAsset('Clip1');
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por Camuss el 05 de Mayo de 2010
Ya vi donde aplicarla...
Por The Fricky! el 05 de Mayo de 2010
Por cierto, sólo para que conste en acta, no es Librería, se llama Biblioteca. "Librería" es un error típico de traducción de la palabra "Library", que significa Biblioteca.
Por Otaku RzO el 05 de Mayo de 2010
The Fricky! :
Por Zguillez el 13 de Mayo de 2010
Por Acidbjazz el 13 de Mayo de 2010
Por Fulanito el 05 de Junio de 2013