pyxen.Text
Renderiza una cadena de texto en una Entity usando una fuente de mapa de bits.
Las entidades de texto usan un atlas de fuente para el renderizado — cada carácter se dibuja como un quad desde la textura del atlas.
Constructor
Text(
content,
*,
font="_default",
color=None,
align="left"
)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
content | str | La cadena de texto a mostrar |
font | str | Nombre del recurso de fuente (por defecto: fuente integrada) |
color | (r, g, b, a) | Color de tinte (por defecto: blanco) |
align | str | Alineación del texto: "left", "center" o "right" |
content (Requerido)
La cadena de texto a renderizar.
Text("Hello World")
font (Opcional)
Nombre del recurso de fuente a usar. Si se omite, se usa la fuente integrada por defecto.
Text("Score: 0", font="myfont")
Un recurso de fuente consiste en un descriptor .font.json y una imagen de atlas .font.png.
color (Opcional)
Tiñe el texto renderizado.
Text("Warning!", color=(1, 0, 0, 1))
Por defecto: (1.0, 1.0, 1.0, 1.0) (blanco, completamente opaco).
align (Opcional)
Controla la alineación horizontal del texto relativa a la posición de la entidad.
Text("Centered", align="center")
| Valor | Descripción |
|---|---|
"left" | El texto comienza en la posición de la entidad (por defecto) |
"center" | El texto se centra en la posición de la entidad |
"right" | El texto termina en la posición de la entidad |
Asignar Text
Puedes asignarlo durante el spawn:
label = world.spawn(
text=Text("Score: 0"),
x=10, y=10, layer=200
)
O después:
label.text = Text("Game Over", color=(1, 0, 0, 1))
Actualizar Text en tiempo de ejecución
Accede al componente de texto a través de la entidad para actualizar propiedades:
label.text.content = "Score: 100"
label.text.color = (1, 1, 0, 1)
label.text.align = "center"
Eliminar Text
Asigna None al texto para eliminarlo:
label.text = None
Ejemplo
from pyxen import *
score = 0
label = world.spawn(
text=Text("Score: 0", color=(1, 1, 1, 1)),
x=10, y=10, layer=200
)
def update():
global score
score += 1
label.text.content = f"Score: {score}"