Diseño Automático
Referencia UI

Rich Text (Texto Enriquecido)

El texto para los elementos UI y text meshes pueden ser incorporados por múltiples estilos de fuente y tamaños. El Rich text es soportado para ambos el sistema UY y el viejo sistema GUI legacy. Las clases Text, GUIStyle, GUIText y TextMesh tienen unas configuraciones Rich Text que instruyen a Unity para mirar por las etiquetas de markup dentro del texto. La función Debug.Log puede también utilizar estas etiquetas markup para aumentar los reportes de error de código. Las etiquetas no son mostrados pero indican cambios en el estilo par ser aplicados al texto.

Formato de Marcado

El sistema de marcado está inspirado por HTML pero no está intencionado en ser estrictamente compatible con HTML estándar. La idea básica es que una sección del texto puede ser encerrado a dentro de un par de etiquetas de marcado:-

    <b>No</b> nos entretiene

Como el ejemplo muestra, las etiquetas son solo piezas de texto dentro los caracteres del “corchete angular”. El texto dentro de la etiqueta denota su nombre (que en este caso es b). Tenga en cuenta que la etiqueta al final de la sección tiene el mismo nombre como el que está en el principio pero con un carácter barra / agregado. Las etiquetas no son mostradas al usuario directamente pero son interpretadas como instrucciones para estilar el texto que encierran. La etiqueta b usada en el ejemplo arriba aplica negrilla a la palabra “not”, entonces el texto aparecerá en pantalla como:-

   No estamos sorprendidos

Una sección marcada de texto (incluyendo las etiquetas que la encierran) es referida como un element.

Elementos Anidados(Nested)

Es posible aplicar más de un estilo a una sección de texto al “nesting” un elemento adentro de otro

   We are <b><i>definitely not</i></b> sorprendido

La etiqueta i aplica un estilo itálico, entonces esto sería presentado en la pantalla como

   Definitivamente no nos entretiene

Tenga en cuenta que el orden de las etiquetas finales, que está en reversa a la de las etiquetas de partida. La razón de esto es quizás más clara si tenemos en cuenta que las etiquetas interiores no necesitan abarcar la totalidad del texto del elemento exterior

   We are <b>absolutely <i>definitely</i> not</b> sorprendidos

que da

   Nosotros absolutamente definitivamente no estamos sorprendidos

Parámetros de Etiqueta

Algunas etiquetas tienen un efecto simple de todo-o-nada en el texto pero otras podrían permitir variaciones. Por ejemplo, la etiqueta color necesita saber qué color aplicar. Información como esta es agregada a las etiquetas mediante el uso de parameters:-

   We are <color=green>green</color> con envidia

Tenga en cuenta que la etiqueta de finalización no incluye el valor del parámetro. Opcionalmente, el valor puede ser rodeado por signos de interrogación pero esto no es requerido.

Etiquetas Soportadas

La siguiente lista describe todas las etiquetas de estilo soportadas por Unity.

Tag Description Example Notes
b Renders the text in boldface.    We are <b>not</b> amused.
i Renders the text in italics.    We are <i>usually</i> not amused.
size Sets the size of the text according to the parameter value, given in pixels.    We are <size=50>largely</size> unaffected. Although this tag is available for Debug.Log, you will find that the line spacing in the window bar and Console looks strange if the size is set too large.
color Sets the color of the text according to the parameter value. The color can be specified in the traditional HTML format.    #rrggbbaa …where the letters correspond to pairs of hexadecimal digits denoting the red, green, blue and alpha (transparency) values for the color. For example, cyan at full opacity would be specified by    <color=#00ffffff>… Another option is to use the name of the color. This is easier to understand but naturally, the range of colors is limited and full opacity is always assumed.    <color=cyan>… The available color names are given in the table below.
Nombre del Color Valor Hex Swatch
aqua (el mismo que el cian(cyan)) #00ffffff
negro #000000ff
azul #0000ffff
marrón #a52a2aff
cian(cyan) (el mismo que el aqua) #00ffffff
azul oscuro #0000a0ff
fucsia(fuchsia) (el mismo que magenta) #ff00ffff
verde #008000ff
gris #808080ff
azul claro #add8e6ff
limón #00ff00ff
magenta (el mismo que fuchsia) #ff00ffff
granate #800000ff
azul marino #000080ff
oliva #808000ff
naranja #ffa500ff
morado #800080ff
rojo #ff0000ff
plateado #c0c0c0ff
verde azulado #008080ff
blanco #ffffffff
amarillo #ffff00ff

material

Esto es solamente útil para meshes de texto y renderiza una sección del texto con un material especificado por el parámetro. El valor es un índice a la matriz del mesh de texto de los materias como es mostrado por el inspector.

   We are <material=2>texturally</material> sorprendido

quad

Esto es solamente útil para meshes de texto y renderiza una imagen enlinea con texto. Toma parámetros que especifican el material a usar para la imagen, la altura de la imagen en píxeles, y otros cuatro que denotan un área rectangular de la imagen para mostrar. A diferencia de las otras etiquetas, quad no rodea una parte del texto y por lo tanto no hay ninguna etiqueta final - el carácter de barra se coloca al final de la etiqueta inicial para indicar que se trata de “cierre automático”.

   <quad material=1 tamaño=20 x=0.1 y=0.1 anchura=0.5 altura=0.5 />

Esto selecciona el material en posición en la matriz del material renderizado y establece la altura de la imagen a 20 píxeles. El área rectangular de imagen comienza en los valores dados x,y, del ancho y altura, que son todos dados como un fracción de la anchura sin escala, y la altura de la textura.

El GUI del Editor

El Rich text es desactivado por defecto en el sistema GUI del editor pero puede ser activado explícitamente usando un GUIStyle personalizado. La propiedad richText debe ser establecida a true y el estilo pasado a la función GUI en cuestión:-

GUIStyle style = new GUIStyle ();
style.richText = true;
GUILayout.Label("<size=30>Some <color=yellow>RICH</color> text</size>",style)
Diseño Automático
Referencia UI