Tentando descobrir como rastrear eventos do Pygame e organizar as funções do jogo

Sou novo no Pygame, então ainda estou lutando com todo o conceito de "eventos".

Basicamente, meu desafio atual é:

Obtenha pygame.event.get () trabalhando fora do loop principal para que eu possa permitir que o jogador prossiga de uma parte do jogo para a próxima (pressionando a barra de espaço, por exemplo).

Descobrir uma maneira de organizar as diferentes funções do jogo no thread principal, para que elas não fiquem sempre repetindo e se sobrepondo mutuamente.

Eu entendo como o loop principal é crucial em muitos jogos, mas não consigo entender como eu poderia usá-lo neste jogo quando o jogo envolve passar de um evento para o outro (é um jogo de texto relativamente simples em que você passa por menus diferentes e selecione opções para progredir). Como o loop principal é um loop while, tudo nele se repete repetidamente, então, como é possível passar de uma tela para outra sem que as telas entrem em conflito infinitamente?

Por exemplo, eu tenho uma seqüência introdutória (uma função Intro ()) que deve ser executada primeiro antes de qualquer outra coisa e, em seguida, permitir que você prossiga para o jogo real, pressionando a barra de espaço. Eu coloquei a função Intro () antes do loop principal real para evitar que ele entre em loop. No entanto, pygame.event.get () não funciona dentro dele (lembre-se de que eu já tenho um evento como esse para loop no loop principal), e eu quero ser capaz de progredir para o jogo a barra de espaço.

Seria ótimo se alguém pudesse me esclarecer e me dar uma lição de lógica e segmentação.

Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion