Bonjour,
je suis en train de construire une galerie d'images dont l'adresse est dans un fichier XML dont voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package classes{
 
	import flash.media.*;
	import flash.net.URLRequest;
	import flash.net.URLLoader;
	import flash.display.MovieClip;
	import flash.events.*;
	import flash.utils.Timer;
	import flash.text.*;
	import fl.containers.UILoader;
	import flash.display.Loader;
	public class Diapo extends MovieClip {
 
		private var monXML:XML;
		private var uiload:UILoader = new UILoader();
		private namespace xmlns="http://xspf.org/ns/0/";
		private var images:Array = new Array();
		private var img_tmb:imgTmb;
		private var  imageLoader:Loader;
		public function Diapo(){
			var chargeur:URLLoader = new URLLoader ();
			var adresse:URLRequest = new URLRequest ("xml.xml");
			chargeur.load(adresse);
			chargeur.addEventListener(Event.COMPLETE, fichierXML);
 
		}
 
	public function fichierXML(evt:Event):void{
			this.monXML = new XML(evt.target.data);
			var i:Number =0;
			use namespace xmlns;			
			for each(var menu:XML in this.monXML..page){
			images[i]=(monXML..page[2].photo[i]);
			i++;
			}
			for (var j= 0; j<images.length; j++) {
				var url:String = "img/tmb/";
				trace(images[j]);
				imageLoader  =  new Loader();
				imageLoader.load(new URLRequest(url+images[j]));
				imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);
				img_tmba.y = 7;
				img_tmba.x = j*80;
				}
 
 
		}
		function  imageLoaded(e:Event):void  {
                         trace("a");
			img_tmba.addChild(imageLoader);
 
		} 
 
	}
 
}
mon problème est qu'une seule image n'apparait au final.
grâce au trace(images[j]), j'ai pu voir que l'adresse des images était correcte.
J'ai fait un trace("a") dans la fonction imageLoaded et le programme rentre effectivement dans la fonction.

les 2 traces combinés rendent ca:
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
a
a
a
a
a
Comme si le for each allait bien plus vite que l'autre fonction et "écrasait" son résultat à chaque fois. Il me faudrait donc un moyen de les faire marcher chacunes leur tour, est-ce possible?

merci

kevin