Versuche herauszufinden, wie man Pygame-Ereignisse verfolgt und die Funktionen des Spiels organisiert

Ich bin neu bei Pygame und habe immer noch Probleme mit dem gesamten "Event" -Konzept.

Grundsätzlich ist meine aktuelle Herausforderung:

Bringen Sie pygame.event.get () dazu, außerhalb der Hauptschleife zu arbeiten, damit der Spieler von einem Teil des Spiels zum nächsten wechseln kann (z. B. durch Drücken der Leertaste).

Finden Sie eine Möglichkeit, die verschiedenen Funktionen des Spiels im Haupt-Thread so zu organisieren, dass sie sich nicht ständig wiederholen und überschreiben.

Ich verstehe, wie wichtig die Hauptschleife in vielen Spielen ist, aber ich kann nicht verstehen, wie ich sie in diesem Spiel verwenden kann, wenn das Spiel von einem Ereignis zum nächsten wechselt (es ist ein relativ einfaches textbasiertes Spiel, in dem Sie durchlaufen verschiedene Menüs und Auswahlmöglichkeiten, um fortzufahren). Da es sich bei der Hauptschleife um eine while-Schleife handelt, wiederholt sich alles darin immer wieder. Wie kann ich also von einem Bildschirm zum nächsten wechseln, ohne dass die Bildschirme unendlich aneinander stoßen?

Zum Beispiel habe ich eine Einführungssequenz (eine Intro () - Funktion), die zuerst ausgeführt werden soll, bevor Sie die Leertaste drücken, um mit dem eigentlichen Spiel fortzufahren. Ich habe die Intro () - Funktion vor die eigentliche Hauptschleife gestellt, um ein Schleifen zu verhindern. Allerdings funktioniert pygame.event.get () darin nicht (bedenke, dass ich bereits eine solche Event "for" -Schleife in der Hauptschleife habe), und ich möchte in der Lage sein, das Spiel selbst durch Schlagen zu erreichen die Leertaste.

Es wäre großartig, wenn mich jemand aufklären und mir eine Lektion in Logik und Threading erteilen könnte.

Vielen Dank.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage