Problème avec duplicateMovieClip dans une boucle

Résolu
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014 - 25 août 2009 à 09:35
naibaf71 Messages postés 11 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 23 janvier 2012 - 20 janv. 2012 à 10:46
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

cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
25 août 2009 à 09:44
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.
3
naibaf71 Messages postés 11 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 23 janvier 2012
20 janv. 2012 à 10:27
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
0
naibaf71 Messages postés 11 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 23 janvier 2012
20 janv. 2012 à 10:46
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
0
Rejoignez-nous