Action Script 3 : BulkLoader et XML

Fermé
azotiga - 3 déc. 2008 à 23:22
 joky - 4 mai 2009 à 16:17
Bonjour,


Je souhaiterais utiliser la Classe BulkLoader pour charger mes images.
Je suis partie d'un fichier que j'avais déjà créé dans lequel les liens d'images étaient mis en durs.

public function Main () {
var _loader : BulkLoader = new BulkLoader ("images");
_loader.add("images/collection1/image0.png", {id:"img0"});
_loader.add("images/collection1/image1.png", {id:"img1"});
_loader.add("images/collection1/image2.png", {id:"img2"});
...
_loader.addEventListener(BulkProgressEvent.COMPLETE, completeHandler);
_loader.start();
}



J'ai Loadé un XML du type :

<?xml version="1.0" encoding="utf-8" ?>
<data>
<collection1>
<item type="haut">
<image url="images/collection1/tshirt0.png" id="img0">Tshirt Violet</image>
<image url="images/collection1/tshirt1.png" id="img1">Tshirt Vert</image>
<image url="images/collection1/tshirt2.png" id="img2">Tshirt Orange</image>
</item>
<item type="bas">
<image url="images/collection1/haut0.png" id="img0">Jupe Noire</image>
<image url="images/collection1/haut1.png" id="img1">Jupe Blanche</image>
<image url="images/collection1/haut2.png" id="img2">Jupe Grise</image>
</item>
</collection1>
<collection2>
<item type="haut">
<image url="images/collection2/haut0.png" id="img0">Tshirt Noir</image>
<image url="images/collection2/haut1.png" id="img1">Tshirt Jaune</image>
<image url="images/collection2/haut2.png" id="img2">Tshirt Gris</image>
</item>
<item type="bas">
<image url="images/collection2/haut0.png" id="img0">Jupette Jeans</image>
<image url="images/collection2/haut1.png" id="img1">Jupette Beige</image>
<image url="images/collection2/haut2.png" id="img2">Jupette Marron</image>
</item>
</collection2>
</data>



Lorsque je fais :
trace (item_list.image.@url[i]); -> j'ai le chemin de mon image qui s'affiche.
trace (item_list.image.@id[i]); -> j'ai l'id extrait de mon xml.


je voulais donc faire :

{
var _loader : BulkLoader = new BulkLoader ("images");

for (i : int = 0 ; i < item_list.image.length() ; i++) {
_loader.add(item_list.image.@url[i], {id:id[i]});
}
_loader.addEventListener(BulkProgressEvent.COMPLETE, completeHandler);
_loader.start();
}


Mais bien sûr... cela ne fonctionne pas... Est-ce que quelqu'un connait assez bien l'AS3 et le BulkLoader ?
A voir également:

2 réponses

ça devrait marcher, le code est bon....
1
_loader.add(item_list.image.@url[i], {id:item_list.image.@id[i]}); ??
0