Article écrit le 28/08/2002 18:40.
Par damien.
A l'origine de ce tutorial, une question de Spontex, qui nous a finalement résumé la marche à suivre pour monter une galerie dynamique d'images par xml, que voici ( avec un préchargement du xml ):
Objectif :
Charger des jpeg depuis un fichier XML
Placer ces images en ligne de 3 colonnes.
Impératif : les jpeg NE doivent PAS être enregistrées en “progressif”
<gallerie> <desc nom="1.jpg" /> <desc nom="2.jpg" /> <desc nom="3.jpg" /> <desc nom="4.jpg" /> <desc nom="5.jpg" /> <desc nom="6.jpg" /> </gallerie>
Image 1
gallerieXml = new XML(); gallerieXml.ignoreWhite = true;
Image 2
On charge le xml:
gallerieXml.load("gallerie.xml");
Image 3 vide
Image 4:
On fait un test pour voir si le xml est chargé:
if(!gallerieXml.loaded) gotoAndPlay(3);
Image 5
//Recupération des donnees du fichier xml var galleriev = gallerieXml.firstChild.childNodes; var lon = galleriev.length; //nombre d'image à placer for (var i = 0; i<lon; i++) { var nom = galleriev[i].attributes.nom; //recupére le nom du fichier // Création d'un clip vide: _root.createEmptyMovieClip("bitmap_mc"+i, i+10); _root["bitmap_mc"+i].loadMovie(nom); //charge le jpeg _root["bitmap_mc"+i]._xscale = _root["bitmap_mc"+i]._yscale /= 50; /*réduit l'image 50 fois, dépend de vos images*/ } // Déplacement et redimensionnement du clip conteneur: var colonne = 0; //j'initialise le nombre de colonne var ligne = 0; //j'initialise le nombre de ligne for (i=0; i<lon; i++) { if (colonne == 3) { //si colonne =3 alors on change de ligne et on reprend à la colonne 0 colonne = 0; ligne++; } //maintenant on dispose les images à partir de x=0 et y=0 _root["bitmap_mc"+i]._x = colonne*40; _root["bitmap_mc"+i]._y = ligne*40; colonne++; } stop();
Encore des questions? Besoin d'aide? Venez en discuter sur les forums Programmation Dynamique ou Programmation Actionscript.