TUTORIELS 
Flash : utiliser HTML
Explication des différentes méthodes pour faire un lien textuel sous Flash MX.  (4 février 2004)
 
Forums
* Discutez en sur les forums
"Pour faire des liens textuels, j'ai toujours dû créer un bouton à part contenant le texte, avec un GetURL attaché, le tout 'posé' sur le texte principal. N'y a-t-il pas plus simple ?"

Un problème, une interrogation ? Adressez-vous à la rédaction de JDNet Développeurs

Ce n'est effectivement pas la méthode la plus rapide pour faire un lien dans un champ texte, surtout depuis l'arrivée de Flash MX. En effet, celui-ci permet plusieurs manières de parvenir à ce résultat.

La première, et la plus simple, consiste à taper le texte directement dans le champ statique, et d'y appliquer le lien via le panneau Propriétés, après avoir sélectionné le texte à "lier". Le soulignement qui apparaît n'existe que pour vous aider : il vous faudra aussi changer la couleur du texte pour le faire ressortir (l'interface de Flash interdit le soulignement)...

La seconde fonctionne pour les textes dynamiques, et consiste à simplement utiliser les propriétés HTML des champs texte dans Flash. Ensuite, il suffit d'utiliser du code HTML comme on le ferait dans un page normale, mais en passant par la méthode .htmlText et non plus .text. En revanche, parce que Flash ne dispose pas de couleur par défaut pour les liens, il vous faudra préciser la couleur et/ou le soulignement de ce lien pour qu'il ressorte :

Le code
Pour un champ dont le nom d'occurrence est "champ1" :
champ1.html = true;
champ1.htmlText = "Je ne sais pas quoi dire.<br>D'ailleurs <a href='http://www.ennui.com' target='_blank'><u><font color='#0000FF'>je le dis très bien</font></u></a>.";


Enfin, il existe la classe TextFormat(). On sort ici du HTML, car cette classe ne permet pas d'utiliser de balises. Par ailleurs, ces méthodes s'appliquent à un champ entier, ce qui peut en limiter l'utilisation...

Le code
Pour un champ dont le nom d'occurrence est "champ2" :
champ2.text = "Je ne sais pas quoi dire.\nD'ailleurs je le dis très bien.";
champ2.html = true;
formatChamp2 = new TextFormat();
formatChamp2.url = "http://www.ennui.com";
formatChamp2.target = "_blank";
formatChamp2.color = 0x0000FF;
formatChamp2.underline = true;
champ2.setTextFormat(formatChamp2);


 
[ Xavier BorderieJDNet
 
Accueil | Haut de page