Comunidad de diseño web y desarrollo en internet online

Cargar cualquier elemento de la Librería en AS3

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.

Publica tu comentario

El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro

Entra al foro y participa en la discusión

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate