Personalizar icono de la ventana e imágenes de fondo - Curso Pygame - Capítulo 3

En este capítulo vas a aprender a añadir un fondo con una imagen, cómo personalizar el icono y un título en la ventana.

Partimos con el siguiente código. Recuerda que puedes ir viendo el vídeo para entenderlo todo mejor y no liarte con la colocación de los elementos.

Código Python

# importación de paquetes
import pygame
import sys

# Inicialización de Pygame
pygame.init()

# Creación de la pantalla
PANTALLA = pygame.display.set_mode((1000, 600))

# Especificación de título
pygame.display.set_caption('Exterminator')

# Bucle de ejecución
while True:
	for event in pygame.event.get():
		if event.type == pygame.QUIT:
			pygame.quit()
			sys.exit()
	pygame.display.update()

desktop_windows Resultado desktop_windows

El resultado es una pantalla vacía un poco más grande que la del capítulo anterior.

¿Cómo añadir una imagen de fondo en Pygame?

A partir de esta base, vamos a añadir un fondo. Para especificar una imagen de fondo lo puedes hacer así de fácil:

Código Python

fondo = pygame.image.load("imagenes/ciudad.jpg")

Deberás sustituir la ruta de la imagen por la que tengas en tu proyecto. En mi caso, tengo los siguientes archivos:

pygame_capitulo_3/
|-- imagenes/
|-- |-- ciudad.jpg
|-- exterminator.py

Puedes descargarte el fondo de este capítulo haciendo click aquí.

Una vez especificado el archivo de la imagen hay que indicarle a nuestro juego dónde debe mostrar esa imagen.

Código Python

 PANTALLA.blit(fondo,(0,0))

Lo que hacemos con este blit() es pasarle como argumentos el fondo para mostrar en la PANTALLA del juego y con el (0,0) le especificamos que no queremos márgenes.

Ten en cuenta, que de esta forma, tienes que redimensionar la imagen de fondo a las dimensiones de la pantalla, si no, saldrá solo un trozo.
Más adelante veremos como redimensionar imágenes directamente con Pygame.

desktop_windows Resultado sin redimensión desktop_windows

Puesto que la imagen de fondo es de 2467x1696 píxeles, no cabe en la PANTALLA que tiene 1000x600 píxeles de tamaño.

Fondo sin redimensionar en Pygame

Esta redimensión la puedes hacer con Photoshop o cualquier otro programa que sea capaz de redimensionar imágenes.

¿Cómo se redimensiona una imagen con Photoshop?

Para redimensionar una imagen con Photoshop, primero de todo, abre la imagen.

Pulsa la combinación de teclas CTRL + ALT + SHIFT + S para guardar para web (optimizado para que ocupe menos, no solo para web).

En la parte marcada, tienes que indicar el ancho y el alto de la imagen. Además, el símbolito de la derecha deberá estár en la misma posición que en la imagen para que te permita hacer la redimensión libremente sin restringir a la proporción.

Redimensionar imagen de fondo con Photoshop

desktop_windows Resultado con redimensión desktop_windows

Imagen de fondo Pygame

¿Cómo se puede añadir un icono en la ventana de Pygame

Para mostrar un icono personalizado en la ventana del juego, lo debés hacer cargando la imagen igual que has hecho con el fondo y le añades un display.set_icon() para especificar que esa imagen la quieres poner como icono en la ventana. El título, ya te mostré en el capítulo anterior como ponerlo.

Código Python

icono = pygame.image.load("imagenes/exterminator.png")
pygame.display.set_icon(icono)

desktop_windows Resultado desktop_windows

Icono en la ventana de Pygame

Finalmente, tras este capítulo, te debería quedar el proyecto de esta forma:

pygame_capitulo_3/
|-- imagenes/
|-- |-- ciudad.jpg
|-- |-- exterminator.png
|-- exterminator.py

Archivos del proyecto

También, te dejo la página oficial del autor del personaje que aparece en este capítulo: Exterminator

La página está en inglés y la descarga es totalmente gratuita para uso personal y comercial, ¡no tienes obligación de pagar nada!
Cualquier duda, déjame un comentario.

Aquí te dejo también la imagen de fondo del juego: Imagen de fondo


Suscríbete a mi canal de YouTube para apoyarme

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.


Comentarios

Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.