Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: lien url avec texte dynamique
Envoyé: 1er mai 2003, 16h01 par Oznog
Bonne question, je vais en profiter pour faire le tour de cette question "épineuse".
1. Il existe une seule façon de mettre un hyperlien directement dans un texte. Il faut un texte dynamique HTML et un lien conventionnel.
Ainsi j'ai un élément texte sur la scène en format dynamique / HTML. Le nom d'instance est "oTexte". Donc :
oTexte.htmltext = "<b>Bla</b> <u><a href='http://www.trucsweb.com'>Bla</a></u> Bla";
2. Avec un élément texte généré en ActionScript l'hyperlien doit être ajouté par l'objet "format de texte" :
// Création de l'élément texte
createTextField("oTexte", 1, 0, 0, 400, 20);
// Configuration, HTML/Size "automatique" et centré puis le texte
oTexte.html = 1;
oTexte.autoSize = "center";
oTexte.htmlText = "Voilà un lien dynamique : http://www.trucsweb.com";
// Récupération du "format" de l'élément texte.
ofTexte = oTexte.getTextFormat();
// Configuration du format, gras, souligné et couleur puis hyperlien
ofTexte.bold = true;
ofTexte.underline = true;
ofTexte.color = 0x0000CC;
ofTexte.url = "http://www.trucsweb.com";
// Donner le nouveau format (ou lien) à l'élément texte.
// à la position 26 à 49.
oTexte.setTextFormat(26, 49, ofTexte);
3. Si tu veux autre chose qu'un hyperlien tu dois procéder exatement de la même manière. Sauf que le lien devra être un ASfunction. Par exemple pour aller au cadre 25 (frame 25) :
ofTexte.url = "asfunction:twHyperLien,25";
function twHyperLien (nFrame) {
gotoAndPlay(nFrame);
}
Exemple complet:
createTextField("oTexte", 1, 0, 0, 400, 20);
oTexte.html = 1;
oTexte.autoSize = "center";
oTexte.htmlText = "Voilà un lien dynamique : http://www.trucsweb.com";
ofTexte = oTexte.getTextFormat();
ofTexte.bold = true;
ofTexte.underline = true;
ofTexte.color = 0x0000CC;
ofTexte.url = "asfunction:twHyperLien,25";
oTexte.setTextFormat(26, 49, ofTexte);
trace(oTexte.htmlText);
function twHyperLien (nFrame) {
gotoAndPlay(nFrame);
}
Ciao
Oznog
Réponses
|