TextRenderer

El componente TextRenderer renderiza texto en la pantalla. Funciona con fuentes web seguras y fuentes importadas, y funciona de forma óptima con fuentes bitmap. Usa el Transform de la entidad para la posición. Consulta Renderizado para una visión general.

Opciones

OpciónTipoValor por defectoDescripción
textstring"Hello World!"El texto a renderizar.
colorstring"#000000"El color del texto.
fontFontFace | string"Arial"La familia de fuente.
fontSizenumber16Tamaño de fuente en píxeles.
widthnumber192Ancho de la caja donde se renderiza el texto.
heightnumber16Alto de la caja donde se renderiza el texto.
layerstring"Default"La capa de renderizado.
alignmentTextAlignmentTextAlignment.CenterAlineación del texto: Left, Center o Right.
lineHeightnumbertamaño de fuenteAltura de línea en píxeles.
letterSpacingnumber0Espacio entre caracteres en píxeles.
offsetVector2(0, 0)Desplazamiento respecto a la posición de la entidad.
rotationnumber0Rotación en radianes.
opacitynumber1Opacidad entre 0 y 1.
flipHorizontallybooleanfalseVoltea el texto horizontalmente.
flipVerticallybooleanfalseVoltea el texto verticalmente.
smoothbooleanfalseSuaviza los píxeles. No recomendado para fuentes bitmap.
shadow{ color: string; offset: Vector2; opacity: number }Sombra de texto opcional.
textureAtlas{ charRanges?: number[]; fontSize?: number; spacing?: number }charRanges: [32, 132, 161, 255], fontSize: 64, spacing: 8Configuración del atlas de caracteres generado.

La opción textureAtlas.charRanges define, como pares de puntos de código Unicode, los rangos inclusivos de caracteres que el componente puede renderizar. El valor por defecto [32, 132, 161, 255] cubre el Latín Básico (letras, dígitos y puntuación) y el Suplemento Latín-1 (letras acentuadas y símbolos usados por los idiomas de Europa Occidental). Se pueden añadir pares adicionales para renderizar otros alfabetos, por ejemplo [0x3040, 0x309F] para el Hiragana japonés o [0x0400, 0x04FF] para el cirílico. El rango de puntos de código de cada alfabeto se puede consultar en los Unicode Character Code Charts oficiales:

textureAtlas: {
    charRanges: [32, 132, 161, 255, 0x3040, 0x309f],
}

Ejemplo

import { Transform, TextRenderer, TextAlignment } from "angry-pixel";

this.entityManager.createEntity([
    new Transform(),
    new TextRenderer({
        text: "Score: 0",
        color: "#FFFFFF",
        fontSize: 24,
        layer: "UI",
        alignment: TextAlignment.Left,
    }),
]);

Las fuentes importadas se cargan a través del Asset Manager con loadFont.