Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Nodos de texto GUI

Defold admite un tipo específico de nodo GUI que permite renderizar texto en una escena GUI. Cualquier recurso de fuente añadido a un proyecto puede usarse para renderizar nodos de texto.

La vista previa del editor admite la conformación del texto y el layout de derecha a izquierda mediante el renderizador de fuentes del motor. Consulta compatibilidad con layout de texto para conocer los ajustes necesarios de fuentes y App Manifest.

Añadir nodos de texto

Las fuentes que quieras usar en nodos de texto GUI deben añadirse al componente GUI. Haz click derecho en la carpeta Fonts, usa el menú superior GUI o presiona el atajo de teclado correspondiente.

Fonts

Los nodos de texto tienen un conjunto de propiedades especiales:

Font
Cualquier nodo de texto que crees debe tener definida la propiedad Font.
Text
Esta propiedad contiene el texto mostrado.
Line Break
La alineación del texto sigue la configuración del pivote y activar esta propiedad permite que el texto fluya en varias líneas. El ancho del nodo determina dónde se ajustará el texto.

Alineación

Al configurar el pivote del nodo puedes cambiar el modo de alineación del texto.

Center
Si el pivote está establecido en Center, North o South, el texto se alinea al centro.
Left
Si el pivote está establecido en cualquiera de los modos West, el texto se alinea a la izquierda.
Right
Si el pivote está establecido en cualquiera de los modos East, el texto se alinea a la derecha.

Text alignment

Modificar nodos de texto en runtime

Los nodos de texto responden a cualquier función genérica de manipulación de nodos para definir tamaño, pivote, color, etc. Existen algunas funciones exclusivas para nodos de texto:

  • Para cambiar la fuente de un nodo de texto, usa la función gui.set_font().
  • Para cambiar el comportamiento del salto de línea de un nodo de texto, usa la función gui.set_line_break().
  • Para cambiar el contenido de un nodo de texto, usa la función gui.set_text().
function on_message(self, message_id, message, sender)
    if message_id == hash("set_score") then
        local s = gui.get_node("score")
        gui.set_text(s, message.score)
    end
end