Hace tiempo me llamó mucho la atención la cantidad de blogs que tenían algún post con información sobre como cargar una imagen con as3, y algo común en todos que era el mismo error.

Si alguien quería copiar y pegar el código asociado en su función se iba a encontrar con un error sin aparente motivo.

El código que se puede encontrar es algo así:

  1. this.loader = new Loader();
  2. this.loader.load(“http://somewebsite.com/image.png”);
  3. this.loader.addEventListener(Event.COMPLETE, onLoadComplete);
  4. public function onLoadComplete(event:Event):void {
  5. var thumbnail:Sprite = new Sprite();
  6. thumbnail.addChild(this.loader);
  7. }

Y esto no va a funcionar ya que no es correcto asignar un listener de evento directamente al objeto Loader
Lo que hay que hacer es asignarlo a la propiedad contentLoaderInfo del Loader para hacerlo funcionar correctamente :)

this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);