[FLASH MX2004] occurences et textes dynamiques
Bonsoir ,
Nouveau en programmation et Flash
Je trouve Flash très chouette mais je me suis rendu compte qu'il faut un minimum d'AS pour faire des choses un peu plus élaborées. Donc j'essaie de m'y mettre Mais...
Je dois être très fatigué à mon avis. J'ai donc une question, probablement élémentaire, que je ne parviens pas à résoudre. Je viens de passer en revue beaucoup de post et les tuto plus d'autres sites mais je ne aprviens pas à voir ou est mon problème...
J'ai 12 champs textes dynamiques (nommés item_txt1, item_txt2, item_txt3,...) disposés sur la scène dès le départ.
Je souhaiterai les remplir avec une chaîne en provenance d'un fichier extérieur (ItemM.txt en format UTF-8) du type
&item1=Amphibiens&
&item2=Pilote&
&item3=Etoile&
etc...
Chacun des champs serait rempli par l'item qui à le même numéros d'ordre (1, 2, 3,...). Puis je leur applique un formatage élémentaire.
J'ai pensé faire comme ci-dessous pour être plus élégant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
var chargeItem_lv:LoadVars = new LoadVars();
chargeItem_lv.load("ItemM.txt");
var format:TextFormat = new TextFormat () ;
with (format){ font = "maPolice" ;
size = 18 ; color = 0xFF0000;}
chargeItem_lv.onLoad = function (success:Boolean):Void
{
for (i:Number=1;i<=12;i++)
{
item_txt=["item_txt"+i];
this.createTextField(item_txt, this.getNextHighestDepth());
item_txt.text= chargeItem_lv["item"+i];
item_txt.wordWrap = true;
item_txt.embedFonts = true;
item_txt.setTextFormat(format);
trace (i); trace(item_txt);
};
}; |
Mais je n'ai aucun affichage dans les champs textes dynamiques :?
Pourtant, ca boucle bien. Et quand je remplace directementitem_txt par item_txt4 (par exemple) il m'affiche la chaine adéquate.
Pouvez-vous me dire ou je coince?
Merci beaucoup
personne pour m'indiquer la voie?
Hello,
Me revoici au poste.
Ca ne marche toujours pas :(
pourtant je pense la solus se trouve sous mes yeux.
A+
Ok je teste et te/vous tiens au courant
Meci Jean-Philippe
A tout de suite
solution trouvée, mais y a t'il mieux?
Re hello,
Je viens de trouver une solution (cf code ci-dessous)
Apparemment le problème se situait dans l'absence de localisation des TextField
un _root a suffit :)
Mais pourquoi un _parent (à la place du _root) ne fonctionne pas?
Si vous avez une suggestion plus élégante je suis ouvert à toutes propositions
Merci à vous pour votre aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
var format:TextFormat = new TextFormat ()
with (format){
font = "maPolice" ; size = 18 ; color = 0xFF0000;}
var chargeItem_lv:LoadVars = new LoadVars();
chargeItem_lv.load("ItemMenu.txt");
chargeItem_lv.onLoad = function(success:Boolean):Void {
for (i=1; i<=12; i++) {
this.createTextField ("item_txt"+i, i);
_root["item_txt"+i].text = chargeItem_lv["item"+i];
_root["item_txt"+i].setTextFormat(format);
trace(this["item"+i]); trace(i); trace(this);
}
}; |