Экран Pygame вылетает загадочно, я не знаю, почему - PullRequest
1 голос
/ 08 мая 2020

Я пытался создать игру, и интерфейсы были созданы нормально, но экран sundly pygame разбился, и окно экрана pygame перестало отвечать, я всегда запускаю простую программу. 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()

Я провел несколько тестов и подозреваю, что проблема в этой строке

pygame.display.update ()

Но я не Я не понимаю, что происходит. Может кто-нибудь мне помочь ???

1 Ответ

1 голос
/ 08 мая 2020

Вы должны обрабатывать события либо pygame.event.pump(), либо pygame.event.get(), чтобы окно отвечало. Например:

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()

См. Документацию к pygame.event.pump():

Для каждого кадра вашей игры вам нужно будет создать своего рода вызов в очередь событий. Это гарантирует, что ваша программа может внутренне взаимодействовать с остальной частью операционной системы. Если вы не используете другие функции событий в своей игре, вы должны вызвать pygame.event.pump (), чтобы позволить pygame обрабатывать внутренние действия.

pygame.event.get() вызывает pygame.event.pump(). pygame.QUIT появляется при нажатии кнопки закрытия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...