Search code examples
pythonpygame

Pygame screen crashes misterioslly, I don't idea Why


I Was try to build a game and I was build the interfaces normally, but sundely pygame screen crashed and the pygame screen window becomes unresponsive always I run the a simple program.enter image description here

import pygame
pygame.init()
pygame.display.init()
pygame.display.set_caption("Yathezz")
tela = pygame.display.set_mode((600,600))
preto = (0,0,0)
def set_telaPartida(tela,nome__jogador,pontos_totais, situacao):
    tela.fill(preto)
    #if(situacao == 1):
      #  set_telaLancaDados(tela,nome__jogador,pontos_totais)
   # elif(situacao ==2):
    #    a = 1
        # seta tela perguntando o relançamento
    #elif(situacao == 3):
     #   b= 2
        #set_telaRelancaDados
while True:
    set_telaPartida(tela,"Lucas",100,1)
    #set_telaInst2(tela)
    pygame.display.update()

I have done some tests and I suspect that the problem are in this line

pygame.display.update()

But I don't have Idea what's happening. Could someone Help me???


Solution

  • You have to handle the events, by either pygame.event.pump() or pygame.event.get(), to keep the window responding. For instance:

    run = Ture
    while run:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                run = False
    
        set_telaPartida(tela,"Lucas",100,1)
        #set_telaInst2(tela)
        pygame.display.update()
    

    See the documentation of pygame.event.pump():

    For each frame of your game, you will need to make some sort of call to the event queue. This ensures your program can internally interact with the rest of the operating system. If you are not using other event functions in your game, you should call pygame.event.pump() to allow pygame to handle internal actions.

    pygame.event.get() calls pygame.event.pump(). The pygame.QUIT occurs when the close button is pressed.