Création en manipulation de clip en AS

Signaler
Messages postés
4
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
5 juillet 2007
-
Messages postés
396
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
13 novembre 2009
-
J'ai cherché sur le net et j'ai toujours pas compris,

Voici mon problème :


Je cherche à créer des instances d'un clip que j'ai créer dans la bibliothèque, j'ai bien entendu activé la liaison pour AS.

Je me suis inspiré d'une source de flashkod : panda galerie (création des nageur du script surpise.as)

xmlfil_xml.onLoad = function(etatCharge) {

    if (etatCharge) {

        // chargement des infos

        var info_array:Array = new Array();

        var i:Number=1;

        var monclip_var:String;

        while(xmlfil_xml.childNodes[0].childNodes[i]!= undefined){

            monclip_var="info_"+(i-1);

            this.attachMovie("info", monclip_var, this.getNextHighestDepth());

           
this[monclip_var].texte_mc.info_txt.text=xmlfil_xml.childNodes[0].childNodes[i].childNodes[0];

            this[monclip_var]._x=0;

           
this[monclip_var]._y=0;       
   

            info_array.push(monclip_var);

            i++;

        }

    }

}


quand je fais un trace de this[info_1]._name qui devrai a priori afficher info_1, il me dit qu'il est undefined.


Si vous connaissez un tuto pour créer et manipuler les movieclip par le
code ou si vous voulez bien me montrez comment faire ca me permettrai
de me débloquer.


Cordialement


ypauleau

7 réponses

Messages postés
396
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
13 novembre 2009

Je ne comprend pas trop ce que tu veux faire en fait !
Mai si tu veux le nom du clip que tu cré puorquoi tu ne va pas le chercher dans "info_array" C'est le tableau qui conserve le chemin des clips !

Aller @+
Flo
Messages postés
4
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
5 juillet 2007

Bon j'ai fini par trouver du moins j'ai contourné mon problème, qui
était le suivant : Dans quel domaine suis-je au moment du xml.onLoad ?


voila ce que j'ai fait :


xmlfil_xml.onLoad = function(etatCharge) {

    //chargement des infos

    if (etatCharge) {

        var i:Number=0;

        var monclip_var:String="";

        //Récupération des infos et création des clips

        while(xmlfil_xml.childNodes[0].childNodes[i]!= undefined){

            monclip_var="info_"+(i);

            info_array[i] = monclip_var;

            texte_array[i] = xmlfil_xml.childNodes[0].childNodes[i].childNodes[0];

            i++;

        } //fin de "Récupération des infos et création des clips"

        implement();       

    }

    //fin de "chargement des infos"

}

//fin du script d'initialisation


//génère les clips info

function implement(){

    var i:Number=0;

    while(i<info_array.length){

        this.attachMovie("info", info_array[i] ,this.getNextHighestDepth(),{_x:0 , _y:0});

        this[info_array[i]].texte_mc.info_txt.text=texte_array[i];

        i++;

    }

   

}

//fin de "génère les clips info"


Pour info si je copie le contenu de la fonction et que je le place la
ou j'appelle la fonction ca ne marche pas. Bizarre si quelqu'un a une
explication je suis preneur.
Messages postés
396
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
13 novembre 2009

Et pourquoi tu ne ferais pas queque chose dans ce genre la ? :

fichier_xml.onLoad = function( ok ){
   if ( ok ){
      total_node = fichier_xml.firstChild.childNodes.length;
      for ( i = 0; i < total_node; i++ ){
         act_item = this.attachMovie( "info", "info_" + i ,this.getNextHighestDepth() ,{ _x:0 , _y:0} );
         act_item.texte_mc.info_txt.text = total_node.childNodes[0];
      }
   }
}

C'est pas pour dire, mais ca fait la même chose et ca tiens en même pas 10 lignes.
Après tu fais bien ce que tu veux, même si il faut un peu adapter.

Aller @+
Flo
Messages postés
4
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
5 juillet 2007

tu as tout a fais raison, ce code est bien plus concis et adapté pour ce cas.

C'est juste qu'en réalité mon fichier xml est bien plus compliqué que
ca et que je n'ai pas réfléchi quand j'ai fait le post, j'ai refait un
fla en gardant la meme structure et en simplifiant les données.


Merci.
Messages postés
396
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
13 novembre 2009

Ok, très bien il y a pas de soucis !
Maintenant si tu veux voir comment u peu sctructuré un XML Complexe. Utilisant le .nodeValue, .attributes, et autre j'ai fais une sources récemment sur le sujet :

http://www.flashkod.com/codes/MENU-XML-AVEC-TOUS-TAS-TRUCS_38729.aspx


C'est pas tout à fais le même contexte que le tiens, mais ca permet de voir un peu les différentes parties de l'exploittion d'un XML sous différentes formes.

Bon et bien bonne continuation
Aller @+
Flo
Messages postés
4
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
5 juillet 2007

Merci pour tes conseils et ton aide.
je vais rapide explorer ta source car le xml et flash m'intéresse particulièrement en ce moment.

cordialment ypauleau
Messages postés
396
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
13 novembre 2009

Ok, pas de soucis
Et bon courage pour la suite !

Aller @+
Flo