Julien Desrosiers

Freelance Web developer.

Je sais qu’on peut trouver cette info un peu partout sur le Web. J’écris ceci parce que j’ai cherché et que je n’ai pas trouvé. Pourtant c’est simple. Pour charger une image dans AS3, il faut commencer par importer ces classes :

import flash.display.Sprite;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;

il faut ensuite créer la variable globale qui contiendra le loader:

private var _chargeur:Loader = new Loader();

maintenant, notre fonction :

public function ChargeurDeBitmap() {
  _chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
  _chargeur.load(new URLRequest("image.jpg"));
}

Finalement, reste à mettre la fonction qui sera appellée par l’événement COMPLETE :

public function onComplete(evenement:Event):void{
  var image:Bitmap = Bitmap(_chargeur.content);
  var bitmap:BitmapData = image.bitmapData;
  addChild(image);
}

Donc en résumé :

import flash.display.Sprite;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;

private var _chargeur:Loader = new Loader();
public function ChargeurDeBitmap() {
  _chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
  _chargeur.load(new URLRequest("image.jpg"));
}
public function onComplete(evenement:Event):void{
  var image:Bitmap = Bitmap(_chargeur.content);
  var bitmap:BitmapData = image.bitmapData;
  addChild(image);
}

Mise à jour:

Merci à Zakaria Telli pour la correction concernant le new Bitmap qui devait être remplacé par Bitmap (sans le new). Autrement, il y avait cette erreur dans Flex 3:

1067: Contrainte implicite d’une valeur du type flash.display:DisplayObject vers un type sans rapport flash.display:BitmapData.