¿Cómo posicionar texto en Pygame?

| Última modificación: 22 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

El texto, las imágenes y los rectángulos de los sprites o spritegroups son tres elementos fundamentales para el desarollo y el funcionamiento del programa para los videojuegos en formato 2D. Por eso, si necesitas aprender más sobre estos conceptos básicos, es importante que, en primer lugar, sepas cómo posicionar texto en Pygame. Si quieres conocerlo, puedes seguir leyendo este artículo.

Pasos para posicionar texto en Pygame

En un artículo anterior acerca de los 8 métodos para interactuar con fuentes en Pygame, presentamos un serie de funciones para inicializar y controlar el uso textual en los programas de código para el desarrollo de videojuegos con la librería Pygame en Python. A partir de esto podemos repasar los pasos para pintar un texto, estos serán los primeros tres pasos para pintar un texto. Después de esto, podremos repasar los pasos para posicionar texto en Pygame.

  1. Antes de todo, tendrás que instanciar la fuente en el constructor de la clase principal, la función de la fuente. Allí establecerás los atributos para pintar la fuente, como la forma, el color y el tamaño que posee una letra.
  2. Después, tendrás que modificar el bucle principal que constituyr la clase de tu programa. De esta manera, deberás establecer el texto que quieres pintar en tu programa. Esto se realizar integrando la función pygame.font.Font.render (). Allí establecerás el texto, el color de la fuente, así como el color del cuadro del texto.
  3. Después de ello, en la definición del bucle principal de la función, podrás pintar el texto con el método pygame.Surface.blit, después de haber dibujado el resto de objetos que existen en el programa del videojuego. 
  4. Ya que el texto está pintado sobre la pantalla de nuestros programa, podrás decidir de qué manera posicionar el texto, según las necesidades de tu programa. Si quieres ponerlo en el centro, en un borde lateral o en cualquier otra parte de la pantalla. Por eso, tendrás que encontrar el ancho del texto y calcularlo con las dimensiones de la misma pantalla.
  5. Hay varias operaciones artiméticas que debes cumplir según sea la posición donde quieres poner tu texto. Esta es una de las formas texto_x = (self._ANCHO + text.get_width( )) / 2 para encontrar el centro de tu programa. Pero, si quieres trabajar con las márgenes para dos textos en específico, por ejemplo, utilizarías funciones parecidas a la siguiente: texto_x1 = self._CENTRO_H – texto.get_width( ) – 50, para la primer referencia y texto_x2 = self._CENTRO_H + 5 para la segunda referencia.

Representación de los pasos para posicionar texto en Pygame

A continuación te presentamos una representación de los pasos anteriormente establecidos. Los primeros tres para que recuerdes cómo pintar los textos sobre la pantalla y, los dos últimos, son los pasos para posicionar texto en Pygame.

#en la definición del constructor
def __init__ (self, ancho, alto):

self.font = pygame.font.SysFont (‘arial’, 48)

#en la definición del bucle principal

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

def bucle_principal (self)

texto = pygame.fot.Font.render (

self.font, ‘Mi primer videojuego en Python’, False, (255, 255, 255), ‘blue’)

#la posición del texto en la coordenada x es igual al ancho de la pantalla (_ANCHO) más el ancho del texto, para obtener este último texto deberás utilizar la función para obtener el ancho. Después tendrás que dividirlo por dos si necesitas posicionarlo en el texto.

texto_x = (self._ANCHO + text.get_width( )) / 2

#después de haber pintado los demás objetos del programa de videojuego.

pygame.Surface.bit (self.pantalla, texto, (texto_x, 100)) #primera opción

self.pantalla.blit (texto, (teexto_x, 100)) #segunda opción

Sigue practicando con Python

Si bien ya sabes cómo pintar y posicionar texto en Pygame, puedes empezar a añadirle más elementos a tus programa, no solo de videojuegos, sino de otra naturaleza, como lo pueden ser los programas funcionales.

El Bootcamp de KeepCoding, Aprende a Programar desde Cero Full Stack Jr. Bootcamp, reúne todas la necesidades en un proceso de aprendizaje sobre programación. Programas con conceptos y base sólidas, profesores expertos en código y otras herramientas esenciales para Python. ¡Anímate a seguir programando con Python!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.