Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: createTextField
Envoyé: 16 février 2004, 8h42 par Oznog
Ho, je n'avais pas vue ton exemple. Alors oublie ma question dans mon message plus bas.
Dada a raison, pour changer la rotation (ou tout mouvement dynamique) d'un texte il doit être "vectorialisé" (break appart) c'est à dire "embed" malheureusement la propriété "embedFonts" n'est qu'une valeur boléenne indiquant d'utiliser la version "embed" d'une police de caractères (au lieu de la version local dite "device"). MAIS ÇA N'EMBED PAS la police.
D'ailleurs c'est très logique, l'action script est exécuté en temps réelle. Imagine que mon navigateur télécharge ton Flash et que lors de l'exécution il tombe sur ce "embedFonts", comment veux tu qu'il "imbrique" cette police alors qu'elle est sur ta machine et non pas la mienne.
Il faut donc une solution pour "imbriquer" la police lors de la publication. La solution répendu est une "patch" avec une fause boîte texte dynamique quelque part hors scène (sans aucun texte) et de forcer son imbrication. De cette façon tu t'assure que la police est réellement "embed" dans le Flash. Et tu peux alors préciser d'utiliser la police "embedFonts" au lieu de "device" par défaut. C'est pourquoi je parle d'un "boggue".
Mais tu as aussi une autre solution toujours tordu mais au moins ce n'est pas une "patch". En important la police dans la librairie et en spécifiant de l'imbriquer!
1. Dans la librairie fait "New font" ou "Nouvelle police?". (menuen haut à droite de la palette "librairie".
2. Donne un nom (maPolice) puis sélectionne la police en question et coche Bold et italic si tu utilises ses deux type.
3. Maintenant, tu dois lui donner un nom de "linkage" pour la cibler. Clic droit sur le symbole et choisie "linkage" Aucune idée en français. Coche "Export for action script" et "Export in first frame" pour t'assurer de sa disponibilité dès le début. (D'ailleurs tout ton code devrait être au cadre 15 pour t'assurer que tout est disponibles!) Par défaut il donnera le nom "maPolice" comme celui de la librairie.
Voilà ta police "embed" est maintenant disponible via l'objet textFormat.
4. Ajoute simplement ceci:
this.Format.font = "maPolice";
Maintenant le this.Txt.embedFonts = true; fonctionnera. Tout comme la rotation etc.
Ciao
Oznog
Réponses
|