Visualizzazione che Pygame non risponde [duplicato]
Quindi sto tentando di creare le basi per un gioco di base in 2D Python con movimenti X e Y usando uno sprite.
Tuttavia il display non risponde nonostante il codice qui cerchi di screen.fill
escreen.blit
playerX = 50
playerY = 50
player = pygame.image.load("player.png")
width, height = 64*8, 64*8
screen=pygame.display.set_mode((width, height))
screen.fill((255,255,255))
screen.blit(player, (playerX, playerY))
Mi sto perdendo qualcosa di importante?
Risposte
Un'applicazione PyGame minimale e tipica
ha un ciclo di gioco
deve gestire gli eventi, da
pygame.event.pump()
opygame.event.get()
.deve aggiornare ciò che
Surface
rappresenta rispettivamente la finestra di visualizzazione, conpygame.display.flip()
opygame.display.update()
.
Vedi pygame.event.get()
:
Per ogni frame del tuo gioco, dovrai effettuare una sorta di chiamata alla coda degli eventi. Ciò garantisce che il programma possa interagire internamente con il resto del sistema operativo.
Vedi anche Python Pygame Introduzione
Esempio minimo:
import pygame
pygame.init()
playerX = 50
playerY = 50
player = pygame.image.load("player.png")
width, height = 64*8, 64*8
screen = pygame.display.set_mode((width, height))
# main application loop
run = True
while run:
# event loop
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
# clear the display
screen.fill((255,255,255))
# draw the scene
screen.blit(player, (playerX, playerY))
# update the display
pygame.display.flip()