ActionScript - Rafraichissement variable incrémentée

ActionScript - Rafraichissement variable incrémentée - Flash/ActionScript - Programmation

Marsh Posté le 28-11-2006 à 17:24:01    

Bonjour,
 
Je voudrais qu'un textfield dont le texte est (un peu) variable occupe toujours la même largeur à l'écran.
Il faut donc modifier la taille de la police jusqu'a atteindre la bonne taille.
 
J'ai donc fait une boucle de type :  
 
var DatFormat=new TextFormat();
 
 
if (TextDat.textWidth<500) {
  while (TextDat.textWidth<500) {
    DatFormat.size= TextDat.getTextFormat().size+1;
    TextDat.setTextFormat(DatFormat);
  }
}
else if (TextDat.textWidth>500) {
  while (TextDat.textWidth>500) {
    DatFormat.size= TextDat.getTextFormat().size-1;
    TextDat.setTextFormat(DatFormat);
  }
}
 
Le seul problème est que TextDat.textWidth ne s'incrémente pas lors de l'aggrandissement de la police.
Du coup ca tourne en boucle et j'ai envie de me pendre.
 
Merci de me dire ce qui cloche dans mon code.
 

Reply

Marsh Posté le 28-11-2006 à 17:24:01   

Reply

Marsh Posté le 28-11-2006 à 17:31:11    

euh j'ai l'impression que ton TextDat.textWitdth ne s'incrémente pas, donc ca tourne en boucle ?

Reply

Marsh Posté le 28-11-2006 à 17:36:01    

EXACTEMENT !!

Reply

Marsh Posté le 28-11-2006 à 17:38:50    

oups désolé ce que je veux dire c'est que l'agrandissement de ta police n'influe pas sur textwitdth durant la boucle
désolé

Reply

Marsh Posté le 28-11-2006 à 17:43:05    

I roger that...
Mais je fais comment, alors, bon sang de bon soir ?

Reply

Marsh Posté le 28-11-2006 à 17:44:28    

A noter que même lorsque je trace ce satané TextDat.textWitdth hors de la boucle il ne s'incrémente pas pour autant.

Reply

Marsh Posté le 28-11-2006 à 17:54:33    

et à la base il a une valeur ou pas ?

Reply

Marsh Posté le 28-11-2006 à 17:55:58    

Heuu bah c'est normal que ça marche pas. Tu fais pas du tout ce qu'il faut.
textWidth ?? tu fais quoi avec ça ? La largeur de ton bloc texte ne va jamais changer en changeant la taille de la police. Ou alors il manque un gros bout de code que tu n'as pas remis ici avec un autoSize ou un createTextField (ou les 2)

Reply

Marsh Posté le 28-11-2006 à 18:09:04    

Le "textWidth" permet de connaitre la largeur du texte lui-même pas du bloc de texte (je l'ai testé) :
http://zoneflashmx.free.fr/proprie [...] width.html
 
Il devrait donc augmenter avec la taille de la police.
Mais il reste fixe.
 
Si vous avez d'autres solutions... je vous écoute.

Reply

Marsh Posté le 28-11-2006 à 18:14:12    

Pour info :
 
si je trace TextDat.textWidth avant la modif de la police, la longueur en px est bonne.
Après la modif (+5pts), il ne change pas, avec ou sans boucle.

Reply

Marsh Posté le 28-11-2006 à 18:14:12   

Reply

Marsh Posté le 28-11-2006 à 18:41:27    

Alors, pour ceux que ca interresse, je viens de me rendre compte que cela provenait du fait que le texte est réellement dynamique (s'il est "statique" ou "dynamique" mais qu'il ne change en fait pas, tout va bien...)
 
merci de m'aider

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed