ActionScript - Rafraichissement variable incrémentée - Flash/ActionScript - Programmation
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 ?
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é
Marsh Posté le 28-11-2006 à 17:43:05
I roger that...
Mais je fais comment, alors, bon sang de bon soir ?
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.
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)
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.
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.
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
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.