¿Cómo configurar Game Loop en PygGame?

En este artículo, veremos cómo configurar un bucle de juego en PyGame. Game Loop es el bucle que mantiene el juego en marcha. Sigue funcionando hasta que el usuario quiere salir. Mientras se ejecuta el bucle del juego, realiza principalmente las siguientes tareas:

  1. Actualizar nuestra ventana de juego para mostrar cambios visuales
  2. Actualizar nuestros estados de juego en función de las entradas de los usuarios
  3. Manejar diferentes tipos de eventos.
  4. Mantener la ventana del juego abierta

Simplemente, el ciclo del juego es un ciclo while que tiene solo una condición para verificar si nuestra condición booleana para mantener el juego en ejecución es verdadera.

Configuración del bucle de juego

Paso 1: Declare una variable booleana como verdadera que se usará para verificar si nuestro jugador quiere seguir jugando nuestro juego o no.  

keepGameRunning=true

Paso 2: cree un ciclo while y verifique nuestra variable booleana anterior para saber si es verdadera o no. Si es verdadero, mantenga el ciclo en ejecución, lo que sugiere mantener nuestro juego en ejecución. En este ciclo while, verifique los eventos y, si el evento se cierra, configure la variable anterior como demasiado falsa para salir de nuestro ciclo de juego y finalizar nuestra ventana de pygame.

while keepGameRunning:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:  
           keepGameRunning = False

A continuación se muestra la implementación completa.

En el siguiente código, estamos creando un bucle de juego simple que crea una ventana de pygame y verifica si el tipo de evento se cierra y, si es cierto, cierra el juego.

Python3

# import pygame package
import pygame
 
# initializing imported module
pygame.init()
 
# displaying a window of height
# 500 and width 400
pygame.display.set_mode((400, 500))
 
# Setting name for window
pygame.display.set_caption('GeeksforGeeks')
 
# creating a bool value which checks
# if game is running
running = True
 
# Game loop
# keep game running till running is true
while running:
   
    # Check for event if user has pushed
    # any event in queue
    for event in pygame.event.get():
       
        # if event is of type quit then set
        # running bool to false
        if event.type == pygame.QUIT:
            running = False

Producción:

En el siguiente código, agregamos una tarea más a nuestro bucle de juego, es decir, actualizar nuestra pantalla en cada bucle. Aquí cambiamos el color de fondo de cada bucle actualizando nuestra pantalla en cada bucle.

Python3

# import pygame package
import pygame
 
# initializing imported module
pygame.init()
 
# displaying a window of height
# 500 and width 400
window = pygame.display.set_mode((400, 500))
 
# creating a bool value which checks
# if game is running
running = True
 
# setting variable to storecolor
color = "red"
 
# keep game running till running is true
while running:
   
    # Check for event if user has pushed
    # any event in queue
    for event in pygame.event.get():
         
        # if event is of type quit then set
        # running bool to false
        if event.type == pygame.QUIT:
            running = False
     
    # set background color to our window
    window.fill(color)
     
    # Update our window
    pygame.display.flip()
     
    # if color is red change it to green and
    # vice-versa
    if(color == "red"):
        color = "green"
         
    else:
        color = "red"

Producción:

Publicación traducida automáticamente

Artículo escrito por devangj9689 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *