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

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  [Flash/Actionscript] Comment manipuler du texte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Flash/Actionscript] Comment manipuler du texte

n°1329874
Aken
Posté le 21-03-2006 à 23:51:54  profilanswer
 

Bonjour tout le monde,
 
J'ai beaucoup beaucoup cherché et là j'avoue que je suis perdu. Je voudrais savoir si il est possible de créer automatiquement des champs de textes avec un nom d'occurence différent a chaque fois.
 
Autrement dit pour faire simple, est-l par exemple possible de faire en sorte que lorsqu'on appuie sur un bouton, 3 champs de textes soient créés avec chacun un nom d'occurence différent pour ensuite pouvoir les remplir par d'autres automatismes ?
Si oui, comment ? :]
 
Merci d'avance à ceux qui se pencheront sur ce cas.

mood
Publicité
Posté le 21-03-2006 à 23:51:54  profilanswer
 

n°1329933
mechkurt
Posté le 22-03-2006 à 07:49:26  profilanswer
 

for (i=1;i<=3;i++) {
   this.createTextField("text_"+i+"_txt", i, 100, 100*i, 300, 100);
   this[("text_"+i+"_txt"].text = Math.random();
}

n°1330214
Aken
Posté le 22-03-2006 à 14:22:56  profilanswer
 

Woot :]
Je teste ça tout à l'heure merci merci merci :)

n°1330866
Aken
Posté le 23-03-2006 à 11:11:20  profilanswer
 

Ok pour ça :
 
for (i=1;i<=3;i++) {
   this.createTextField("text_"+i+"_txt", i, 100, 100*i, 300, 100);
   this["text_"+i+"_txt"].text = Math.random();
}
 
Seulement si je veux mettre mon texte en.. disons rouge :
 
for (i=1;i<=3;i++) {
   this.createTextField("text_"+i+"_txt", i, 100, 100*i, 300, 100);
   this["text_"+i+"_txt"].text = Math.random();
   this["text_"+i+"_txt"].color = 0xFF0000;
}
 
ça marche pas :)

n°1330923
mechkurt
Posté le 23-03-2006 à 11:58:54  profilanswer
 

[:angefox]  

Code :
  1. var my_fmt:TextFormat = new TextFormat();
  2. my_fmt.color = 0xFF0000;
  3. for (i=1;i<=3;i++) {
  4.    this.createTextField("text_"+i+"_txt", i, 100, 100*i, 300, 100);
  5.    this["text_"+i+"_txt"].text = Math.random();
  6.    this["text_"+i+"_txt"].setTextFormat(my_fmt)
  7. }


---------------
D3
n°1330925
mechkurt
Posté le 23-03-2006 à 11:59:10  profilanswer
 

[:angefox]  
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFF0000;
for (i=1;i<=3;i++) {
   this.createTextField("text_"+i+"_txt", i, 100, 100*i, 300, 100);
   this["text_"+i+"_txt"].text = Math.random();
   this["text_"+i+"_txt"].setTextFormat(my_fmt)
}


---------------
D3
n°1331220
Aken
Posté le 23-03-2006 à 17:14:57  profilanswer
 

okkkkkkkk
he be, action script me rend fou. Pourtant je sais faire du C et du php, mais là j'ai l'impression qu'il y a des bugs....
 
Exemple :
 
Je suis dans un MC controleur, je veux effectuer une action sur un MC appelé "Barocco", nom d'occurence contenu dans un tableau appelé "classical".
Donc dans une frame du controleur j'ai :
 
trace(_root.classical[0]);
_root[classical[0]]._x += 5;
 
Normalement ya une boucle qui agit sur le tableau mais la je simplifie en mettant 0 car c'est l'entrée qui correspond à Barocco.
Donc la console affiche bien Barocco grâce au trace mais le changement de propriété ne marche pas... alors je modifie histoire de voir comme ceci :
 
trace(_root.classical[0]);
_root.Barocco._x += 5;
 
et là pouf ça marche o_O Il se passe quoi avec les variables dans flash ? :D
Ah oui et classical est déclaré sur la scène donc c'est un global.

n°1331242
Aken
Posté le 23-03-2006 à 17:39:22  profilanswer
 

Bon j'ai trouvé en faisant comme ceci :
 
essai = _root.classical[0];
trace(essai);
_root[essai]._x += 5;
 
C'est nimporte quoi mais bon, ça marche :]

n°1353581
kwadbox
Posté le 25-04-2006 à 13:58:18  profilanswer
 

Je suis en train de brosser les divers sujets, comme je suis tombé sur le tiens, je donne mon avis. Plutôt que de faire une boucle simple pour créer des occurences nommées, tu peux l'intégrer à une fonction, par exemple :
 

Code :
  1. function createTF(X:Number,Y:Number,L:Number,H:Number,nbr:Number):Void{
  2. var i:Number;
  3. for (i=1 ; i<=nbr ; i++){
  4. var myTF:String="CT"+i;  //ça donnera donc CT1, CT2, etc... jusqu'au nombre "nbr"
  5. this.createTextField(myTF,i,X,Y+H*i,L,H);   //changement de profondeur et de position en Y avec "i"
  6. this[myTF].border=true;
  7. this[myTF].text="blabla"; //pour tester
  8. }
  9. };


 
Ainsi, tu crées tes champs en appelant la fonction :

Code :
  1. createTF(50,50,200,20,5);


 
et il te créeras 5 champs textes d'une taille de 200 en longueur et de 20 en hauteur, nommés CT1, CT2, CT3, CT4, CT5, le premier positionné en X à 50, en Y à 50, les suivants étant positionnés les uns à côté des autres sur les coordonnées (Y).


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

  [Flash/Actionscript] Comment manipuler du texte

 

Sujets relatifs
souci avec player mp3 flash et page htmlpb de redimensionnement anim flash sous firefox
[PERL] Shell et texte fixefichier texte et adresse mail
Une doc CSS pour flash ?[Flash/PHP]
problème avec une ouverture de ficheir texte[c++] créer un prog qui s'ouvre avec macromedia Flash Player
Quel éditeur de texte ?Onmouseover: comment en survolant une image faire apparaître un texte?
Plus de sujets relatifs à : [Flash/Actionscript] Comment manipuler du texte


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