[AS2] espacement des lettres dans texte dynamique

ccciolll

Membre expert
Club iGen
Bonjour

je dois éditer en ActionScript2 (pas le choix)

J'ai constaté qu'entre l'export en flash player 7 et en flash player 8, une nouvelle fonction apparaît pour les textes dynamiques (déjà dispo pour les textes statiques en 7), on peut activer —en tout cas à l'affichage dans le fichier « de travail »— l'approche de paire (chose qu'is nomment dans Flash, de façon un peu exotique, « espacement des lettres ».

Seulement, problème, lorsque je fais fonctionner l'animation, ce réglage est ignoré par les texte dynamique (il fonctionne sur les texte statiques).
J'ai fait 2 blocs identiques avec pour l'un une approche très élevée, le résultat est le même.
Pourtant celui avec une approche élevée devrait avoir les caractères « espacés »


Voici l'explication comparative en image.
Au dessus, ce que j'aimerais obtenir, en dessous, ce que j'obtiens.

ecran-2014-06-02-12-14-21.png


Voici comment j'ai obtenu cette capture :
Au dessus, le bloc texte dynamique tel qu'il apparaît dans l'animation ouverte dans FireFox si je lui applique un « espacement des caractères » spécifique mais que je n'importe rien dedans (je saisis le texte "prénom nom directement dans flash)
En dessous, le bloc texte dynamique avec les MÊMES RÉGLAGES mais dans lequel j'importe le texte du xml : le texte perd ses réglages d'espacement des caractères.


Comment pourrais-je faire pour que l'approche soit prise en compte par les blocs de texte dynamique lors de l'animation ?
Je précise que la solution bricolage consistant à ajouter des espaces entre chaque lettre ne me convient pas, j'ai besoin de précision dans mon résultat graphique.

J'ai trouvé des discussions évoquant le problème (ou à peu près) et qui proposent à chaque fois des solutions via url, mais les liens sont morts. Aucun intérêt…

http://forums.mediabox.fr/topic/118325-esp...nt-des-lettres/
http://forums.mediabox.fr/topic/109772-esp...-dun-textfield/

En cherchant avec d'autres mots clefs trouvés dans ces discussions, j'ai trouvé une discussion qui donne l'impression (si j'arrive bien à comprendre l'anglais) que qqun a trouvé la solution.

http://www.kirupa.com/forum/showthread.php?286670-Letter-spacing-on-a-dynamic-text-box

Si je traduis bien, il a un bloc texte dynamique (nommé sectionTitle) et en lui appliquant le setNewTextFormat, il arrive à appliquer l'espacement.

Moi, je n'y parviens pas malgré toute une batterie d'essais.

ESSAIS EFFECTUÉS :



J'ai d'abord tenté de l'appliquer au « nom » du bloc texte après son remplissage

Bloc de code:
vnom = c_prenom + " " + c_nom;

var format:TextFormat = new TextFormat();
format.letterSpacing = 45;
tnom.setTextFormat(format);

Puis j'ai tenté de l'appliquer à la variable du champ

Bloc de code:
vnom = c_prenom + " " + c_nom;

var format:TextFormat = new TextFormat();
format.letterSpacing = 45;
vnom.setTextFormat(format);


J'ai même, désespéré, tenté de l'appliquer au texte inséré avant insertion

Bloc de code:
var format:TextFormat = new TextFormat();
format.letterSpacing = 45;
c_prenom.setTextFormat(format);
c_nom.setTextFormat(format);

vnom = c_prenom + " " + c_nom;

Sans jamais aucun effet visible en comparaison du bloc texte témoin mis à côté.

Et je précise également que j'ai refait les mêmes essais en mettant setNewTextFormat au lieu de setTextFormat (comme dit dans la discussion en anglais).

Que faire ?



EDIT :
Il y aurait peut-être un angle d'explication à mes soucis.

Ces fichiers flash que je dois gérer, à la base (ça date d'avant 2004 je crois) c'est une société qui me les avait composés (car je ne suis pas programmeur de formation, j'ai appris ça sur le tas) et j'ai toujours pris l'habitude, sur leurs indications de départ, d'exporter en AS2/flashpalyer7.
Or, dans le cas ci-dessus, j'exportais en AS2/flashplayer8 (suite à divers essais précédents). Quand j'ai voulu redescendre et exporter en flashplayer7, il m'a annoncé en erreur :
Il n'existe aucune propriété nommée 'letterSpacing'.
Donc le letterspacing serait une spécificité apparue avec flashplayer8
OK.

Autre chose qu'il faut savoir avec mes fichiers flash, ils ne sont pas ouverts en direct dans FireFox mais via un autre fichier flash (en gros le "conteneur") que cette même société avait fourni à l'époque.
Se pourrait-il que ce conteneur soit en flash player 7 et bloque toutes les fonctions supérieures ?
Et comment pourrais-je le vérifier ? J'ai essayé le clic droit sur l'animation ouverte dans FFox, mais ça ne donne pas d'infos apparemment utiles.
 
Dernière édition: