J'ai eu un problème de base avec le chargement d'un bitmap à partir d'une demande d'URL.
Le problème est, que le chargement d'un bitmap est beaucoup de code pour l'écrire chaque fois que je veux charger une image. J'ai donc pensé à certaines fonctions:Charger plusieurs bitmaps avec la même fonction
var bitmap1:Bitmap = bitmapForURL("test1.gif");
var bitmap2:Bitmap = bitmapForURL("test2.gif");
function bitmapForURL(url:String):Bitmap
{
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
var request:URLRequest = new URLRequest(url);
loader.x = size * numChildren;
loader.load(request);
return Bitmap(loader);
}
Malheureusement, à la fin de la fonction, le bitmap n'est pas déjà créé. -> NE FONCTIONNE PAS
Ensuite, j'ai lu sur le Event.Complete-Listener, mais dans ce cas, je perds la référence à mon bitmap1 et bitmap2. Ma question est: Comment puis-je implémenter une fonction imageLoader, qui me renvoie un bitmap?
Merci pour votre aide!
Loader est une fonction asynchrone. Vous aurez besoin d'un gestionnaire d'événements complet pour le moment où les données ont été chargées. –
En bref non, mais il existe des alternatives. Vous pouvez simplement renvoyer un objet 'Loader' à la place, mais même si vous l'ajoutez à la scène, l'image en cours de chargement n'a peut-être pas encore été chargée. – Taurayi