Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2736 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Au secours ! (pb nom d'objet dynamique)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Au secours ! (pb nom d'objet dynamique)

n°852506
sergenttre​nt
Posté le 17-09-2004 à 12:11:28  profilanswer
 

Bonjour,
J'ai un problème certainement tout bête, mais que je n'arrive pas à résoudre. Je m'explique : je souhaite faire un truc du genre
_root.monClip_0.monTexteDynamic.text = "du texte";
_root.monClip_1.monTexteDynamic.text = "un autre texte";
_root.monClip_2.monTexteDynamic.text = "encore un autre texte";
 
Mais bien entendu, je veux remplacer 0, 1, 2 par une variable et mettre le tout dans une boucle. Mais je n'y arrive pas... j'ai essayé :
_root.this["monClip_"+unIndice].monTexteDynamic.text
et d'autres truc .... et toujours des messages d'erreur.
 
Pouvez-vous m'aider ?
 
Merci

mood
Publicité
Posté le 17-09-2004 à 12:11:28  profilanswer
 

n°852521
Mr Mala
Posté le 17-09-2004 à 12:19:38  profilanswer
 

Regarde du côté de la fonction eval()
 

n°852566
raytaller
Posté le 17-09-2004 à 13:05:29  profilanswer
 

non, pas eval ! c'est très mal eval, récupérer les références par leur chemin absolu c'est vraiment pas objet.
 
sergenttrent > en fait tu es sur la voie.
 
dans un clip, les sous clips sont accessibles par une hashmap de leur nom. ex :


// je suis dans un clip, je veux accéder à son clip nommé pipo :
this["pipo"];
 
// je suis dans un clip, je veux accéder au clip pipi du clip pipo :
pipo["pipi"];
 
// si tu veux aller plus loin, utilises les références ex :
var monclip=this["nomDuClip" + n];
monClip.salut();


 
n'utilises pas _root, c'est le mal. en effet, si un jour tu décides de mettre ton anim dans un conteneur preload, c'est la fin des haricots. fais tout en relatif avec des _parent.
 
si ça ne marche toujours pas, indique clairement l'arborescence de ta scène

n°852572
raytaller
Posté le 17-09-2004 à 13:14:23  profilanswer
 

d'ailleurs pour répondre à ton problème : _root.this n'a aucune signification.
 
dans un clip, this fait référence au clip courant.
si tu mets ton code direct dans la timeline principale, this fait référence au clip racine de ton animation, acessible par _root.
 
dans ce cas, _root == this.
 
pour ton truc, je sais pas vraiment comment c'est organisé mais en gros, un truc comme :
 


for(var i=0; i<n; ++i){
    this["monClip_"+i].monTexteDynamic.text="texte #"+i;
}


devrait le faire.
 
sinon, un truc qu'on oublie souvent en AS c'est le for..in. c'est vraiment méga pratique exemple sur un proto que j'avais fait qui stoppe tous les clips enfants d'un clip récursivement :


MovieClip.prototype.stopAll=function(){
 var clip;
 this.stop();
 for(clip in this)
 if(this[clip]._parent == this && this[clip] instanceof MovieClip)
 this[clip].stopAll();
}


Message édité par raytaller le 17-09-2004 à 13:15:16
n°852576
Mr Mala
Posté le 17-09-2004 à 13:21:10  profilanswer
 

raytaller a écrit :



MovieClip.prototype.stopAll=function(){
 var clip;
 this.stop();
 for(clip in this)
 if(this[clip]._parent == this && this[clip] instanceof MovieClip)
 this[clip].stopAll();
}




ha ça par contre, j'aime bien ! :p

n°852611
raytaller
Posté le 17-09-2004 à 14:02:35  profilanswer
 

remixé, avec l'indentation qui va bien :
 


MovieClip.prototype.stopAll=function(){
        this.stop();
        for(var clip in this)
                if(this[clip]._parent == this && this[clip] instanceof MovieClip)
                        this[clip].stopAll();
};


Message édité par raytaller le 17-09-2004 à 14:03:12

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Au secours ! (pb nom d'objet dynamique)

 

Sujets relatifs
ArrayList et ObjetAccès aux champs d'un formulaire dynamique
Concater un objet pour former une variableWscript.echo ==> Objet Requis : Wscript ?
[C++] Recherche d'objetliste déroulante dynamique + oracle + php
variables dynamiqueimport dynamique
Menu dynamique et Frame[DHTML] Tableau dynamique
Plus de sujets relatifs à : Au secours ! (pb nom d'objet dynamique)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR