Pygame neu starten?
Ich habe mein Spiel läuft in einer while-True-Schleife, und ich möchte in der Lage sein, um den Benutzer zu Fragen, um "erneut Spielen?" Ich habe bereits den code für eine rect-pop-up mit dem text, aber ich brauche eine Möglichkeit für den Benutzer, klicken Sie auf das Rechteck oder drücken Sie y für ja und den code ausführen seiner selbst wieder.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben die Schleife seine eigene Methode, rufen Sie es von einem
main()
ausgeführt, wenn das Spiel vorbei ist und endet, habenmain()
bitten Sie den Benutzer, wenn Sie wollen, wieder zu spielen, und wenn ja, erinnern an die Haupt-Schleife nach der Einstellung alles als Standardoder
Müssen nur den Teil, der fragt wieder klar und initialisieren Sie alle Variablen, die Ihre Vorgaben und lassen Sie die Schleife, wenn der Benutzer wünscht, wieder zu spielen
Zu sagen, wenn der Benutzer klickte auf das rect, setzen Sie einfach 1 von 1 rect an der position der Maus dann, wenn Sie klicken, überprüfen Sie, ob die rects kollidieren. Dann rufen Sie einfach die Schleife erneut, indem es seine eigene Funktion, wie DeadChex sagte.
Ausführen dieser Funktion habe ich geschrieben. Optimieren Sie den Inhalt Ihres Herzens. Wenn der Spieler stirbt (oder was auch immer passiert, um das Spiel wieder text erscheinen) musst du nur rufen play_again()
Ich hoffe das ist die Antwort, die Sie gesucht haben.
In Ihrem Hauptprogramm-Schleife, erstellen Sie eine neue Veranstaltung.Schlüssel if-Anweisung für jeden Schlüssel, den Sie wollen, dass die Spieler zu drücken, um das Spiel neu starten, dann Aufruf von main() innerhalb der if-Anweisung. Dies wird zurückgesetzt, alles wieder auf Platz 1.
In meinem Beispiel unten, ich erkennen, wenn der Benutzer gestorben ist, und betätigt die R-Taste, dann starten Sie main().
Weiter unten in der main-loop I Anzeige-text zu Fragen, der Spieler drücken Sie die R-Taste zu respawnen.
Ich denken kann sind diese:
am Ende der code so etwas wie dieses, um den Benutzer zu Fragen, wenn er spielen möchte:
In meinem Beispiel lege ich eine
True
am Ende derwhile
Schleife meinermain()
- Funktion, so dass diemain()
gibt immerTrue
, die es möglich macht, innerhalb desplay_again
Schleife wiederholen Sie das Spiel, wenn die Eingabe des Benutzers wurde1
- und Ausfahrt, wenn0
.Wäre es möglich, den Prozess zu vereinfachen, indem Sie mit dem exec () - Funktion?
Hier ist ein Beispiel aus meiner Antwort zu einem ähnlichen Problem. Ich Stelle diese könnten angepasst werden, um den Einsatz in Ihrem Kreislauf gut.
Einfach Python Neustart Des Spiels Code