Accueil > Forum > > > > Problème avec un loadMovie en AS 2 (impossible d'exploiter des URL contenues dans un tableau)
Problème avec un loadMovie en AS 2 (impossible d'exploiter des URL contenues dans un tableau)
jeudi 17 septembre 2009 à 02:08:16 |
Problème avec un loadMovie en AS 2 (impossible d'exploiter des URL contenues dans un tableau)

pit256
|
Salut
je suis entrain de réaliser une galerie d'images avec Flash et voilà mon probleme :
j'essaie d'exploiter des données stockées dans 3 tableaux à partir d'un fichier XML (l'URL des images, l'URL des vignettes et les légendes correspondantes). Le but étant de créer des MovieClips à la volée en piochant, à l'aide d'une boucle, des images dans un dossier externe.
Tout fonctionne bien pour les images et les légendes, mais impossible de récupérer les URL de chaque vignette...
Voilà le code (j'ai indiqué là où ça fonctionne et là où ça merde) :
Code ActionScript :
...
url1 = new Array();
url2 = new Array();
légendes = new Array();
Fichier_XML = new XML();
Fichier_XML.ignoreWhite = true;
Fichier_XML.load("presse.xml");
Fichier_XML.onLoad = function(ok:Boolean) {
if (ok) {
x = Fichier_XML.firstChild;
for(i = 0; x.childNodes[i] != undefined; i++) {
url1[i] = x.childNodes[i].attributes.url1; //trace(url1[i]);
url2[i] = x.childNodes[i].attributes.url2; //trace(url2[i]);
légendes[i] = x.childNodes[i].attributes.legende; //trace(légendes[i]);
}
}
};
this.createEmptyMovieClip("vignettes",0);
this.createEmptyMovieClip("zoom", 1);
zoom.createEmptyMovieClip("conteneurZ", 0);
for (var i = 0; i<nbr; i++) {
var mc = vignettes.createEmptyMovieClip("vignette"+i, i);
mc._x = (largeur+espace)*i;
mc.createEmptyMovieClip("conteneur",0);
mc.conteneur.loadMovie(url2[i]); // Ca marche pas !
mc.nombre = i;
mc.onRollOver = function() {
this._xscale = this._yscale = 105;
}
mc.onRollOut = function() {
this._xscale = this._yscale = 100;
}
mc.onRelease = function() {
legendesZoom.text = légendes[this.nombre]; // Ca marche !
zoom.conteneurZ.loadMovie(url1[this.nombre]); // Ca marche !
...
C'est délirant parce que les 3 tableaux sont correctement remplis, mais rien n'y fait, si je fais un trace(url2[i]) à cet endroit j'obtiens des "undefined"...
Merci de m'éclairer !
|
|
samedi 19 septembre 2009 à 02:30:08 |
Re : Problème avec un loadMovie en AS 2 (impossible d'exploiter des URL contenues dans un tableau)
|
lundi 21 septembre 2009 à 16:52:23 |
Re : Problème avec un loadMovie en AS 2 (impossible d'exploiter des URL contenues dans un tableau)

nickydaquick
|
Salut,
pourrais-tu nous donner la structure de ton xml ?
merci.
http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!
|
|
lundi 21 septembre 2009 à 19:41:37 |
Re : Problème avec un loadMovie en AS 2 (impossible d'exploiter des URL contenues dans un tableau)

pit256
|
Salut,
En fait j'ai trouvé une solution...
Le problème venait du fait que le XML n'avait pas le temps d'être chargé avant l'exécution d'une bonne partie des autres instructions. Du coup j'ai séparé le script sur 2 frames, le premier pour le chargement du XML et le stockage dans les 3 tableaux, le deuxième pour la génération des clips et les événements. Puis j'ai placé un nextFrame() à la fin du if(ok), et ça roule...
Mais je suis pas entièrement satisfait...
J'aurai bien aimé que mon script fonctionne sur un seul frame. Ne serait ce que pour mieux comprendre la logique (l'ordre) d'exécution des instructions AS. Et puis c'est plus (pro)pre...
Mais peut être as-tu la solution ?
Voilà le code du frame 1 :
Code ActionScript : stop();
Stage.scaleMode = "noScale";
largeur = 70;
espace = 20;
//____________________________________________
url1 = new Array();
url2 = new Array();
legendes = new Array();
Fichier_XML = new XML();
Fichier_XML.ignoreWhite = true;
Fichier_XML.load("presse.xml");
Fichier_XML.onLoad = function(ok:Boolean) {
if (ok) {
x = Fichier_XML.firstChild;
for(i = 0; x.childNodes[i] != undefined; i++) {
url1[i] = x.childNodes[i].attributes.url1; //trace(url1[i]);
url2[i] = x.childNodes[i].attributes.url2; //trace(url2[i]);
legendes[i] = x.childNodes[i].attributes.legende; //trace(legendes[i]);
}
nbr = i; // je stocke le nombre d'image décrites dans le XML
largeurTotale = nbr*(largeur+espace)-espace;
zone = 750;
extremeG = 50;
extremeD = zone-largeurTotale;
nextFrame();
}
};e
Voilà le code du frame 2 :
Code ActionScript : this.createEmptyMovieClip("vignettes",0);
vignettes._y = 535;
vignettes._visible = 0;
this.createEmptyMovieClip("zoom", 1);
zoom._y = 0;
zoom.createEmptyMovieClip("conteneurZ", 0);
loaderPress._visible = 0;
for (var i = 0; i<nbr; i++) {
var mc = vignettes.createEmptyMovieClip("vignette"+i, i);
mc._x = (largeur+espace)*i;
mc.createEmptyMovieClip("conteneur",0);
mc.conteneur.loadMovie(url2[i]); //trace(url2[i]); trace(i);
mc.nombre = i;
mc.onRollOver = function() {
this._xscale = this._yscale = 105;
}
mc.onRollOut = function() {
this._xscale = this._yscale = 100;
}
mc.onRelease = function() {
loaderPress._visible = 1;
legendesZoom._visible = 0;
legendesZoom.text = legendes[this.nombre]; //trace(legendes[this.nombre]);
zoom.conteneurZ.loadMovie(url1[this.nombre]); //trace(url1[this.nombre]);
zoom.onEnterFrame = function() {
total = this.conteneurZ.getBytesTotal();
charge = this.conteneurZ.getBytesLoaded();
pourcent = Math.round(charge/total*100);
if (pourcent == 100) {
delete this.onEnterFrame;
zoom._x = 800 - zoom._width - 25;
loaderPress.pourcentage = 100 + "/100";
this._alpha = 0;
zoom.onEnterFrame = function() {
this._alpha += 10;
if (this._alpha >= 100) {
delete this.onEnterFrame;
loaderPress._visible = 0;
legendesZoom._visible = 1;
}
}
}
else { loaderPress.pourcentage = pourcent + "/100"; } // fin if-else pourcent
} // fin boucle zoom
} // fin mc.onRelease
} // fin boucle for
//____________________________________________
vignettes._x = extremeG;
vignettes.onEnterFrame = function() {
var souris = _xmouse - 400;
var déplacement = Math.pow((souris/100),3);
if (this._x - déplacement < extremeG) {
if (this._x - déplacement > extremeD) {
this._x -= déplacement;
} else {
this._x = extremeD;
}
} else {
this._x = extremeG;
}
};
vignettes._visible = 1;
Voilà le XML :
Code XML : <?xml version='1.0' encoding="UTF-8" ?>
<main>
<image url1="presse/0.png" url2="presse/v0.jpg" legende="Rue des artistes. Maison Française."/>
<image url1="presse/1.png" url2="presse/v1.jpg" legende="Artisanat, Drôle de frimousse. Télérama."/>
<image url1="presse/2.png" url2="presse/v2.jpg" legende="Pink tulle dress with embroidered jewels by Chanel Haute Couture. Feather hats by Estelle Ramousse."/>
<image url1="presse/3.png" url2="presse/v3.jpg" legende="Casque en python noir laqué. Vogue Espagne."/>
<image url1="presse/4.png" url2="presse/v4.jpg" legende="Demi-tête paillette blanche et papillon brodé. Elle Japon."/>
<image url1="presse/5.png" url2="presse/v5.jpg" legende="Bombe en dentelle laqué et agneau plongé, pour Stephanie Coudert. L'Officiel Chine."/>
<image url1="presse/6.png" url2="presse/v6.jpg" legende="Bombe en feutre et agneau plongé, pour Stephanie Coudert. FN Japon."/>
<image url1="presse/7.png" url2="presse/v7.jpg" legende="Casque pour Gilles Rosier. Paper Magazine."/>
<image url1="presse/8.png" url2="presse/v8.jpg" legende="Résille a pois montée sur corde a piano. Estetica."/>
<image url1="presse/9.png" url2="presse/v9.jpg" legende="Casque de moto en cuir et plexiglas. Wad."/>
<image url1="presse/10.png" url2="presse/v10.jpg" legende="Haute-forme géants. Elle Espagne."/>
<image url1="presse/11.png" url2="presse/v11.jpg" legende=""/>
<image url1="presse/12.png" url2="presse/v12.jpg" legende=""/>
<image url1="presse/13.png" url2="presse/v13.jpg" legende=""/>
<image url1="presse/14.png" url2="presse/v14.jpg" legende=""/>
<image url1="presse/15.png" url2="presse/v15.jpg" legende=""/>
<image url1="presse/16.png" url2="presse/v16.jpg" legende="Perruque en toile gommée et paillettée. Glamour."/>
<image url1="presse/17.png" url2="presse/v17.jpg" legende="Structure polystyrène et tissus. Collezioni Italie."/>
<image url1="presse/18.png" url2="presse/v18.jpg" legende="Casque ressort, résille laqué noir et plumes marabout. Globe Hebdo."/>
<image url1="presse/19.png" url2="presse/v19.jpg" legende="Coiffe 'Chrysler'. Encens magazine."/>
<image url1="presse/20.png" url2="presse/v20.jpg" legende=""/>
<image url1="presse/21.png" url2="presse/v21.jpg" legende="Mon bouquin paru chez Solar."/>
</main>
Et voilà ce que ça donne : Galerie
Merci de te pencher sur mon cas. 
|
|
lundi 21 septembre 2009 à 22:36:14 |
Re : Problème avec un loadMovie en AS 2 (impossible d'exploiter des URL contenues dans un tableau)
|
lundi 21 septembre 2009 à 23:58:07 |
Re : Problème avec un loadMovie en AS 2 (impossible d'exploiter des URL contenues dans un tableau)

pit256
|
Donc ce n'est pas sale ?! 
|
|
mardi 22 septembre 2009 à 15:29:58 |
Re : Problème avec un loadMovie en AS 2 (impossible d'exploiter des URL contenues dans un tableau)

nickydaquick
|
Salut,
non je ne trouve pas que ca l'est.
Bonne continuation.
http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!
|
|
mardi 22 septembre 2009 à 16:48:59 |
Re : Problème avec un loadMovie en AS 2 (impossible d'exploiter des URL contenues dans un tableau)
|
Cette discussion est classée dans : fichier, mc, xml, url2, légendes
Répondre à ce message
Sujets en rapport avec ce message
importation d'une image depuis du XML [ par djkiki ]
Bonjour, Je souhaiterais importer une image depuis un fichier XML... et je ne sais pas du tout comment faire. Le debut du fichier XML est le suivant :
Fichier XML [ par ddami1 ]
Bonjour,Ma question concerne la source http://www.flashkod.com/code.aspx?ID=14118Quelqu'un pourrait-il m'expliquer comment faire pour réccupérer la va
modifier XML [ par shubenka ]
j'aimerai savoir comment proceder pour ajouter des variables dans un fichier xml . par exemple le fichier xml contient des news et, j'aimerais en rajo
tableau de tableau ou tableau de MC? [ par rtgiman ]
Salut à tous,je me pose une ch'tit question: je veux charger un fichier txt dans un tableau. (en gros, j'ai une classe avec 4 champs, par exemple un h
Enregistrer fichier XML chez mon hébergeur à partir de flash [ par ddami1 ]
Bonjour,J'ai créé un petite interface qui permet de sauvegarder des informations dans un fichier XML à partir de Flash.Cela fonctionne très bien sur u
Flash + XML + recuperation de données (variables) [ par cadoudal56 ]
Bonjour à tous et à toutes,Désolé, ma question risque de ne rien avoir de passionnant pour certains programmeurs chevronnés, mais je dois bien avouer
XML et Flash [ par darkikari ]
BonjoursS'est mon premier post, donc je me présente un peux : Je suis en stage informatique dans une boite (www.sts.ch) en tant que programmeur Action
Probleme de compilation et fichier externe [ par buff@lofluo ]
Bonjour , je vais essayer d'etre clair je charge un fichier xml:serie_m_xml = new XML();serie_m_xml.ignoreWhite = true;serie_m_xml.load("test.xml");ju
fichier XML qui ne se charge pas sur le net mais bien en local [ par Killan ]
bonjour, voici un morceau du code qui pose problemeau debut de mon script je charge un fichier xml dont une partie du nom est fournie par la page html
probleme xml il prends la version du cache [ par 8fanfan8 ]
je m explique : ca fait deja trois jours que je me galere et je trouve pas pourtant ja i bien compris ce qu il fallait faire mais bon.... j ai fait un
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|