janela em pygame congelar enquanto espera
Estou usando o pygame para o meu jogo e online, mas o problema é que sempre que o loop principal do jogo aguarda o soquete do servidor, ele congela. portanto, a menos que você esteja fazendo sua vez, o cliente aguarda um soquete do servidor e não faz nada enquanto espera e congela até que ele consiga o soquete e faça sua vez.
Então, eu li algumas respostas e soluções neste site e em alguns outros e pelo que entendi depois de 5 segundos sem fazer nada, o sistema operacional pensa que a janela (se trancou)? então criei o thread keep_run, mas ele não faz nenhuma alteração e a janela ainda congela enquanto não é a vez dele.
Também para mencionar que o servidor trabalha com a biblioteca de seleção, se sua ajuda for de qualquer maneira, porque keep_run () é o único thread que eu usei.
Eu não incluí muitas linhas no meu código, porque há muito, mas é uma conclusão básica das coisas importantes que talvez causem isso?
import sockets
import pygame
from threading import Thread
def keep_run():
clock = pygame.time.Clock()
fps = 60
while True:
pygame.event.pump()
clock.tick(fps)
pygame.init()
keep_running = Thread(target=keep_run)
keep_running.setDaemon(True)
keep_running.start()
while Game_run:
#the main loop
server_command = client_socket.recv(1024)
if server_command == "move":
# make your turn
do_turn()
elif server_command == "over":
# finish the game
finish_game()
imagem do exemplo:https://i.stack.imgur.com/b4Qx8.png