Création en manipulation de clip en AS

ypauleau Messages postés 4 Date d'inscription lundi 24 janvier 2005 Statut Membre Dernière intervention 5 juillet 2007 - 8 août 2006 à 17:10
fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 - 15 août 2006 à 11:37
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

fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
9 août 2006 à 17:10
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
0
ypauleau Messages postés 4 Date d'inscription lundi 24 janvier 2005 Statut Membre Dernière intervention 5 juillet 2007
10 août 2006 à 09:18
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.
0
fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
10 août 2006 à 11:37
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
0
ypauleau Messages postés 4 Date d'inscription lundi 24 janvier 2005 Statut Membre Dernière intervention 5 juillet 2007
11 août 2006 à 15:00
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
11 août 2006 à 15:08
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
0
ypauleau Messages postés 4 Date d'inscription lundi 24 janvier 2005 Statut Membre Dernière intervention 5 juillet 2007
12 août 2006 à 19:10
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
0
fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
15 août 2006 à 11:37
Ok, pas de soucis
Et bon courage pour la suite !

Aller @+
Flo
0
Rejoignez-nous