Problème avec duplicateMovieClip dans une boucle

Résolu
Signaler
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014
-
Messages postés
11
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
23 janvier 2012
-
Bonjour

Je débute en AS et ai un problème. J'ai un fichier XML dans lequel des coordonnées sont enregistrées. J'ai un objet que je souhaite dupliqué autant de fois qu'il y a de noeuds et à chaque fois le placer aux coordonnées indiqués. J'ai la boucle suivante :

var donnees_xml:XML = new XML();
donnees_xml.nodeType = 1;
donnees_xml.ignoreWhite = true;
function XMLLoader(XMLPath:String):Void {
donnees_xml.load(XMLPath);
donnees_xml.onLoad = function(success:Boolean) {
if (success) {
var tab = new Array();
noeuds = this.firstChild.childNodes;
nbpoints = noeuds.length;
for (var i = 0; i<nbpoints; i++) {
duplicateMovieClip(_root.Pnt, 'Point'+i, 100);
_root['Point'+i]._x = noeuds[i].firstChild.attributes.posX;
_root['Point'+i]._y = noeuds[i].firstChild.attributes.posY;
}
} else {
trace("nooo!");
}
};
}
XMLLoader('./points.xml');

Les coordonnées sont bien récupérées mais à chaque fois, seul le dernier point est visible. les autres n'apparaissent pas.
J'ai placé des trace un peu partout et j'ai bien le nombre de boucles voulu, les bonnes infos chargées, donc je suppose que ça vient de la copie de mon objet (Pnt).

Quelqu'un aurait une idée?
Merci d'avance

3 réponses

Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

C'est bon j'ai trouvé :)
J'ai remplacé je contenu du for par :

tmp = _root.attachMovie("Pt", "Point"+i, _root.getNextHighestDepth());
tmp._x = noeuds[i].firstChild.attributes.posX;
tmp._y = noeuds[i].firstChild.attributes.posY;

et ça fonctionne.
Messages postés
11
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
23 janvier 2012

bjr je suis interessé par cette méthode que je narrive pas à mettre en place pour une petite appli!
je souhaite dupliqué des clip en fonction d'un fichier xml avec des positions x et y comme tu l'as fait, débutant en as je comprends ton mecanisme mais j'identifie pas le nom de ton clip dans ton code ?

pourrais tu m aider

merci d'avance
Messages postés
11
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
23 janvier 2012

re bonjour

voici mes morceaux de code :


as :
myXML = new XML();
myXML.nodeType = 1;
myXML.ignoreWhite = true;
myXML.onLoad = function() {
for (var i = 0; i<this.firstChild.childNodes.length; i++) {
profondeur = 100+i;
trace(ok);
}
};
myXML.load("./data.xml");


carte.onEnterFrame = function() {
test._x =500;test._y =myXML.firstChild.childNodes[0].childNodes[1];
txt= myXML.firstChild.childNodes[0].childNodes[0];}


dans mon flash j'ai un clip nommé test(un cercle) un texte dynamique nommé txt.


j'arrive bien à afficher le exte provenant de mon xml mais pas la position de mon clip?


mon xml :

<?xml version="1.0" encoding="UTF-8"?>
<cities>
<city>
<name><![CDATA[blabla]]></name>
<x>550</x>
<y>200</y>
<description>
<![CDATA[blabla

]]>
</description>

<link></link>
<linkTarget></linkTarget>
</city>
</cities>



merci d'avance