Darle formato a un texto con TextFormat en AS3. defaultTextFormat en AS3

Tuesday, 20. April 2010

TextFormat en AS3;

This movie requires Flash Player 9

Cuando creamos campos de texto en Flash utilizando ActionScript 3, o bien cuando los introducimos en el escenario y queremos que cambie su apariencia, lo podemos hacer desde el código mismo a través de una herramienta (clase) de AS3: TextFormat. Un objeto TextFormat funciona como si fuera una variable en la cual almacenas la información de cómo quieres que sea un texto, su formato, su parte visual. Después basta con asignarle ese formato al texto, para que tome sus características.

Veamos como utilizar un objeto TextFormat. En primer lugar, vamos a crear el objeto así:

var formatoTexto:TextFormat=new TextFormat();

Esta es la forma de crear un objeto del tipo TextFormat, al cual hemos puesto como nombre ‘formatoTexto’. Bien, ahora, este objeto tiene varias propiedades o características, las cuales podemos empezar a modificar. De momento vamos a cambiarle el color, el tamaño, la alineación, y la fuente del texto. Para eso lo hacemos de la misma forma en que modificamos las propiedades de cualquier objeto: poniendo el nombre, seguido de un punto, la propiedad, signo igual y el valor:

formatoTexto.color=0x990000;
formatoTexto.size=11;
formatoTexto.align='center';
formatoTexto.font='verdana';

Ahora, vamos a crear en este ejemplo un campo de texto a través del código. Si necesitas ayuda en este paso, puedes leer cómo crear un campo de texto con AS3.

var texto:TextField = new TextField();
addChild(texto);

Ahora, a través de estas dos líneas hemos creado un campo de texto, y lo hemos introducido al escenario, aunque no hemos escrito nada en el. ¿Por qué? porque debemos darle el formato antes de introducir el texo. Aquí viene la parte más importante:

Como asignar el formato al texto.

Aquí utilizaremos una sentencia fundamental que incluye ActionScript 3: defaultTextFormat. Esto será lo que nos permitirá relacionar el campo de texto y el formato, es decir, darle formato al texto. Para eso, podemos escribir lo siguiente:

texto.defaultTextFormat=formatoTexto;

Esta línea ha hecho que el texto tenga el formato que habíamos definido. Ya simplemente necesitamos introducir el texto.

texto.text="Este es mi texto";

Y listo. Tendremos un campo de texto con letras rojas, fuente Verdana, centrado y de tamaño 11. Esto es lo que debemos hacer para darle formato a un texto. Aquí, el código completo:

var formatoTexto:TextFormat=new TextFormat();
formatoTexto.color=0x990000;
formatoTexto.size=11;
formatoTexto.align='center';
formatoTexto.font='verdana';

var texto:TextField = new TextField();
addChild(texto);
texto.defaultTextFormat=formatoTexto;
texto.text="Este es mi texto";

Las propiedades que podemos cambiar de esta forma son bastantes. Aquí dejamos la lista, con los valores que traen de forma predeterminada, según nos muestra la ayuda de Flash:

align = “left”
blockIndent = 0
bold = false
bullet = false
color = 0×000000
font = “Times New Roman” (la fuente predeterminada es Times en Mac OS X)
indent = 0
italic = false
kerning = false
leading = 0
leftMargin = 0
letterSpacing = 0
rightMargin = 0
size = 12
tabStops = [] (matriz vacía)
target = “” (cadena vacía)
underline = false
url = “” (cadena vacía)

Espero que sea de utilidad este tutorial, y acepto sugerencias y dudas.

Saludos.
Samuel Jiménez. EsK

VN:F [1.9.1_1087]
Rating: 7.5/10 (10 votes cast)
Darle formato a un texto con TextFormat en AS3. defaultTextFormat en AS3, 7.5 out of 10 based on 10 ratings

3 Responses to “Darle formato a un texto con TextFormat en AS3. defaultTextFormat en AS3”



  1. Bitacoras.com Says:

    Información Bitacoras.com…

    Valora en Bitacoras.com: Cuando creamos campos de texto en Flash utilizando ActionScript 3, o bien cuando los introducimos en el escenario y queremos que cambie su apariencia, lo podemos hacer desde el código mismo a través de una herramienta (clas……

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  2. Zorel Says:

    Muchas gracias, tenía el problema de que lo asignaba con:

    [code]

    texto.setTextFormat(formatoTexto)
    pero como era un campo de introduccion de texto
    no me aplicaba el formato

    [/code]

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  3. GUSUM Says:

    Muy buen post, gracias por compartirlo!

    Saludos!

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)

Leave a Reply