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

  FORUM HardWare.fr
  Graphisme
  Divers

  [Flash]Création dynamique d'objets

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Flash]Création dynamique d'objets

n°387342
ValM
Posté le 23-10-2003 à 16:37:47  profilanswer
 

Bonjour à tous,
 
Je voudrais créer dynamiquement un menu déroulant dans une animation. Les textes de mes items de mon menu sont placés dans un fichier txt. Je besoin de créer autant de zone texte dynamique que j'ai d'items dans mon fichier txt. Comment puis je alouer dynamiquement un nom d'occurence différent à mes zones textes ?
 
je sais pas si je suis très clair alors voilà une partie de mon code qui récupère les données de mon fichier txt :

Code :
  1. //Découpage de ma variable contenant les éléments de mon menu
  2. Elem_menu = TXT_Elem_menu.split("," );
  3. //Déclaration du tableau Menu
  4. Tab_Menu = [];
  5. //Déclaration des variables indiquant les niveaux du tableau Menu
  6. Niv1=0;
  7. Niv2=0;
  8. Niv3=0;
  9. //Format du texte des boutons du niveau 1
  10. var Format_Niv1 = new textFormat();
  11. Format_Niv1.font  = "Tahoma";
  12. Format_Niv1.size  = 10;
  13. Format_Niv1.color  = 0xFF0000;
  14. //Récupération des données de la variable du fichier texte
  15. //et reconstitution du tableau Menu
  16. for (i=0;i<Elem_menu.length;i++) {
  17. if (Elem_menu[i].slice(0,1) == "#" ) {
  18.  if (Elem_menu[i].slice(0,2) == "##" ) {
  19.   if (Elem_menu[i].slice(0,3) == "###" ) {
  20.    if (Flag==false) {
  21.     Tab_Menu[Niv1-1][1][Niv2-1][1]=[];
  22.     Flag=true;
  23.    }
  24.    Tab_Menu[Niv1-1][1][Niv2-1][1][Niv3] = Elem_menu[i].slice(3);
  25.    Niv3++;
  26.   }
  27.   else {
  28.    //Réinitilisation de la variable Niv3
  29.    Niv3=0;
  30.    //Réinitialisation de la variable Flag
  31.    Flag=false;
  32.    //Découpage et insertion dans Niveau 2
  33.    Tab_Menu[Niv1-1][1][Niv2] = [Elem_menu[i].slice(2)];
  34.    Niv2++;
  35.   };
  36.  }
  37.  else {
  38.   //Réinitilisation de la variable Niv2
  39.   Niv2=0;
  40.   //Réinitialisation de la variable Flag
  41.   Flag=false;
  42.   //Découpage et insertion dans Niveau 1
  43.   Tab_Menu[Niv1] = [Elem_menu[i].slice(1),[]];
  44.   Niv1++;
  45.   //Création d'un champ texte
  46.                       _root.createTextField("Btn",0,0,0,300,300)
  47.   Btn.text=Elem_menu[i].slice(1);
  48.  };
  49. }
  50. }


 
Dans la zone  
//Création d'un Champ texte
_root.createTextField("Btn",0,0,0,300,300)
 
à la place de "Btn" est il possible de greffer une variable comme ceci "Btn"+variable ?  


Message édité par ValM le 23-10-2003 à 16:43:03
mood
Publicité
Posté le 23-10-2003 à 16:37:47  profilanswer
 

n°387361
Le Castor
Neurasténique...
Posté le 23-10-2003 à 17:49:38  profilanswer
 

Va plutot dans la section programmation, vu que c'est de l'actionscript, là...


---------------
W3C : Leading the Web to Its Full Potential... - Membre du W3C l33t club
n°387391
ValM
Posté le 23-10-2003 à 19:04:29  profilanswer
 

C'est fait, d'ailleurs je redirige les âmes charitables vers ce second >>> topic <<< qui me semble un peu plus clair. :)


Message édité par ValM le 23-10-2003 à 19:05:26
n°387553
ValM
Posté le 24-10-2003 à 10:43:14  profilanswer
 

La question ci-dessus est résolue mais me voilà devant un autre problème :
 
Comment fait on après pour accéder à un objet qui a un nom d'occurence stocké dans une variable ?
 
en JavaScript il existe une méthode getElementsByName() pour accéder à un objet facilement :
 
si on connaît son nom d'occurence :
_root.getElementsByName("monOccurence" ).text = "Bonjour"
 
ou
si le nom d'occurence est stockée dans une variable :
_root.getElementsByName(Nom_Oc).text = "Bonjour"
 
Je n'ai pas trouvé de méthode équivalente en ActionScript... Existe t'elle ? Peut on procéder d'une autre façon ?

n°387564
Skopos
Posté le 24-10-2003 à 11:35:18  profilanswer
 

Chui débutant alors je peux que te donner des pistes.
Essaye la syntaxe à crochets.
un truc du style : _root[taVariable].text = "bonjour";
                   si ta variable est dans le scénar racine.
 
Ca doit marcher.

n°387627
ValM
Posté le 24-10-2003 à 14:18:21  profilanswer
 

Ok merci !
 
Sinon j'ai trouvé un autre system qui marche mais il a sa:
 
eval(Nom_Oc).text = "Bonjour";
 

n°387631
Skopos
Posté le 24-10-2003 à 14:26:48  profilanswer
 

Pour préceiser :
les crochets transforment le contenu de la variable en adresse. (comme eval en fait alors) C' est plus court dans ce cas précis.

n°387934
ValM
Posté le 25-10-2003 à 11:45:11  profilanswer
 

J'devais être défoncé quand j'ai posté mon dernier message :D, ou alors j'ai des moments d'absence...
 
Merci pour la précision, et bon week-end !


Message édité par ValM le 25-10-2003 à 11:45:41

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Graphisme
  Divers

  [Flash]Création dynamique d'objets

 

Sujets relatifs
[Flash]Flash et fichier externetoujours un souci avec mon bouton impression dans flash...
Help! 1 bouton imprimer avec flash c'est possible mais komment...Barre de menu en flash et frames etc.
[flahs movies] Ninjai , admirable film en animation flashCréation d'un ray-tracer, demande conseil pour une image.
Création Image Corporative GRATOSUtiliser des objets crées dans Blender en prog OpenGl ?
[flash mx] transformer une sequence en clip /edit: j'ai une sol mais..Fichier flash FLA qui peut pas s'ouvrir...
Plus de sujets relatifs à : [Flash]Création dynamique d'objets


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