¿Por qué mi aplicación PyGame no se está ejecutando?
Dec 12 2020
Tengo un programa Pygame simple:
#!/usr/bin/env python
import pygame
from pygame.locals import *
pygame.init()
win = pygame.display.set_mode((400,400))
pygame.display.set_caption("My first game")
Pero cada vez que intento ejecutarlo, obtengo esto:
pygame 2.0.0 (SDL 2.0.12, python 3.8.3)
Hello from the pygame community. https://www.pygame.org/contribute.html
Y luego no pasa nada. ¿Por qué no puedo ejecutar este programa?
Respuestas
4 Rabbid76 Dec 12 2020 at 19:11
Tu aplicación funciona bien. Sin embargo, no ha implementado un ciclo de aplicación:
#!/usr/bin/env python
import pygame
from pygame.locals import *
pygame.init()
win = pygame.display.set_mode((400,400))
pygame.display.set_caption("My first game")
clock = pygame.time.Clock()
run = True
while run:
clock.tick(60)
# handle events
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
# update game objects
# [...]
# clear display
win.fill((0, 0, 0))
# draw game objects
# [...]
# update display
pygame.display.flip()
pygame.quit()
El bucle típico de la aplicación PyGame tiene que:
- manejar los eventos mediante pygame.event.pump()o pygame.event.get().
- actualizar los estados del juego y las posiciones de los objetos dependiendo de los eventos de entrada y el tiempo (respectivamente fotogramas)
- borrar toda la pantalla o dibujar el fondo
- dibuja toda la escena (
blit
todos los objetos) - actualizar la pantalla mediante pygame.display.update()opygame.display.flip()
Ver también Bucle de eventos y aplicaciones