Texto con enlaces en Flash al estilo HTML

January 10th, 2007 Posted in Básico, Flash, Trucos

En flash podemos colocar textos en formato HTML con enlaces a otras páginas, pero tenemos el problema de que estos links no quedan resaltados en color azul y subrayados como pasa en un típico HTML.

Por ejemplo, este SWF contiene un campo de texto con varios enlaces, pero no se diferencian del resto del texto:

Esto lo podemos solucionar aplicando un poco de CSS al texto HTML.
El código para crear el estilo CSS sería este:

Esto lo podemos solucionar aplicando un poco de CSS al texto HTML.
El código para crear el estilo CSS sería este:

import TextField.StyleSheet;
var css:StyleSheet = new StyleSheet();
css.parseCSS("a{color:#0000FF; text-decoration:underline;}");

Ahora al crear un texto HTML tendremos que aplicarle el CSS, de esta manera aplicamos a todas las etiquetas < a > el color azul y el subrayado:

texto.html = true;
texto.styleSheet = css;
texto.htmlText = "<a href='http://www.cristalab.com'>Troiae</a> qui primus ab oris Italiam, fato profugus, Laviniaque venit litora, multum ille et terris iactatus et alto vi superum saevae <a href='http://www.cristalab.com'>memorem</a> Iunonis ob iram; multa quoque et bello passus, dum conderet urbem, inferretque deos Latio, genus unde Latinum, <a href='http://www.cristalab.com'>Albanique</a> patres, atque altae moenia Romae.";

El resultado sería este:

Para mejorar este código y hacerlo más reutilizable, podemos meterlo a través de prototype a la clase TextField:

TextField.prototype.htmlcss = function(txt:String)
{
   import TextField.StyleSheet;
   var css:StyleSheet = new StyleSheet();
   css.parseCSS("a{color:#0000FF; text-decoration:underline;}");
   this.html = true;
   this.styleSheet = css;
   this.htmlText = txt;
};

De esta manera TODOS los campos de texto tendrán el comportamiento htmlcss que colocará el estilo al texto.

Para añadir el texto al campo de texto utilizaremos esta nueva función de la clase:

texto.htmlcss("<a href='http://www.cristalab.com'>Troiae</a> qui primus ab oris Italiam, fato profugus, Laviniaque venit litora, multum ille et terris iactatus et alto vi superum saevae <a href='http://www.cristalab.com'>memorem</a> Iunonis ob iram; multa quoque et bello passus, dum conderet urbem, inferretque deos Latio, genus unde Latinum, <a href='http://www.cristalab.com'>Albanique</a> patres, atque altae moenia Romae.");

Comparte:
  • Meneame
  • Twitter
  • Facebook
  • Google Bookmarks
  • del.icio.us
  • Technorati
  • email
  • Print

Post relacinonados:

  1. Ejecutar acciones actionscript en enlaces de texto con AS3
  2. Texto con scroll a dos columnas en Flash CS3
  3. Pasar variables a la pelicula Fash desde el Html
  4. Lo que yo sé de AS2 #Enlaces, enlaces, millones de enlaces
  5. Visualizar menús desplegables HTML por encima de películas Flash

11 Responses to “Texto con enlaces en Flash al estilo HTML”

  1. malder Says:

    tengo una duda, como llamar desde flash a un atributo class?¿ o sea a una clase para que me funcione un script¿

    el codigo que uso en html es:

    No-scroll content

    como hago que me funcione ese enlace en flash?

    gracias


  2. Flashreloco Says:

    Hola :

    Muy buen Ejemplo y no habara problema si se hace esto desde un txt externo?


  3. admin Says:

    Flashreloco: Gracias ^^ No, no hay ningun problma por utilizar un css externo

    malder: No se bien bien a que te refieres :S
    el texto que le pasar al campo de texto es texto html tal cual, con los mismos tags


  4. Roberto Says:

    quiero convetir mi texto que tengo dentro de una animacion flash y lo quiero convertir el texto a formato html. Como se hace??


  5. admin Says:

    roberto: Lo único que has de hacer es crear el campo de texto dándole la opción de texto "dinámico" en la barra de propiedades. Tambien seleccionar la opción de texto HTML ("<>"), o lo puedes hacer por código con:
    campo_de_texto.html = true;
    campo_de_texto.htmlText = "el texto que quieras";


  6. LUIS Says:

    quisiera saber como hacer un cuadro flotante!


  7. msmpersonal Says:

    holiss:Estoy desarrollando un scrollbar en flash pero resulta que preciso poner textos en html y no me sale;

    ya coloque textos con la extencion *.txt
    y funciono muy bien;

    Alguien podria decirme como hago para poner el texto html,como hago para modificar el codigo.

    pafff les agradeceria mucho si me ayudan;


  8. ruben Says:

    Me gustaria saber como puedo hacer para poner acentos y otros caracteres en el texto del flash. Por ejemplo un acento en la "i" -- "í", esto sería en formato HTML, pero parece que no me lo reconoce.


  9. zguillez Says:

    @ruben: Si importas el texto desde un archivo externo guárdalo en formato UTF-8.


  10. Pablo Says:

    yo tengo un ejemplo similar en el cual en el primer frame de la pelicula asocio un texto a una hoja de estilo. Esto me anda perfecto pero hasta q empiezo a animar el texto momento en el cual el texto pierde el estilo y pasa a convertise en el texto original pero con los tags q hacen referencia al estilo

    saben a que se puede llegar a deber?

    desde ya gracias

    saludos


  11. amilcar Says:

    como puedo enlazar botones de flash de un banner a otra pagina

    alguien me puede ayudar


Leave a Reply