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:
- Actualizar nuestra ventana de juego para mostrar cambios visuales
- Actualizar nuestros estados de juego en función de las entradas de los usuarios
- Manejar diferentes tipos de eventos.
- 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