Fondo en movimiento con bucle infinito y control de FPS - Curso Pygame - Capítulo 4


En este capítulo aprenderás a poner una imagen de fondo en movimiento gracias a un bucle infinito y de paso, te enseño a controlar las FPS del juego.

En el código de este capítulo, he utilizado el propio bucle de Pygame para hacer que el fondo se vaya desplazando.
En el vídeo puedes ver una explicación bastante detallada de como funciona.

El control de FPS se utiliza para hacer que los frames (imágenes) pasen por la pantalla más rápido o más lento, de esa forma, podemos controlar a qué velocidad se mueve el juego, además de los elementos dentro de él como son el fondo, por ejemplo.

Código del vídeo para copiar y pegar

import pygame
from pygame.locals import *
import sys

#Iniciación de Pygame
pygame.init()

FPS = 60
RELOJ = pygame.time.Clock()

#Pantalla - ventana
W,H = 1000, 600
PANTALLA = pygame.display.set_mode((W,H))

#Fondo del juego
fondo=pygame.image.load("imagenes/ciudad.png").convert()
x = 0

#Icono y título
pygame.display.set_caption("Exterminator")
icono=pygame.image.load("imagenes/icon.png")
pygame.display.set_icon(icono)

#Bucle de juego.
while True:
  for event in pygame.event.get():
      if event.type == QUIT:
          pygame.quit()
          sys.exit()
  rel_x = x % fondo.get_rect().width
  PANTALLA.blit(fondo, (rel_x - fondo.get_rect().width, 0))
  if rel_x < W:
      PANTALLA.blit(fondo, (rel_x, 0))
  x -= 1
  pygame.display.update()
  RELOJ.tick(FPS)

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.