Text-input-Feld in pygame/python
Arbeite ich an einem Rollenspiel in der pygame/python. Ich habe einen char. creator ermöglicht Ihnen die Anpassung der Spieler. Jetzt bin ich auf der Suche nach einem Weg, um die Eingabeaufforderung für einen Namen auf dem Bildschirm. Ich will nicht, dass es eine box, nur das drucken, was der Benutzer ist Eingabe in einem bestimmten Bereich (siehe Bild).
Danke für die Hilfe.
http://ubuntuone.com/3HdzOKroopUEf1YxqNnbFM <-----Bild (sieht nur blau durch den link)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Ereignisse erfassen und Ereignis.type == KEYDOWN, dann überprüfen Sie für eine Veranstaltung.- Taste die-Taste ist der Benutzer drücken. Dann können Sie es hinzufügen, um eine text-variable und zeigen es auf dem Bildschirm.
Konnte man auch mit EzText. Es ist ein Modul, das im Grunde tut, was FRJA beschreibt für Sie. Es gibt viele andere Module, wenn Sie google "pygame text input." Hier ist EzText ist Beispiel-code:
Ich habe vor kurzem geschrieben, ein weiteres Modul, das macht es noch einfacher, um text einzufügen. Erstellen Sie einfach eine
TextInput
-Objekt, dann füttern Sie es mit events für jeden frame des Spiels, und schließlich retreive die gerenderte Oberfläche mitget_surface()
.Hier ist ein Beispielprogramm, das veranschaulicht, wie es zu benutzen:
Wenn Sie wollen, verarbeiten die Benutzereingaben, nachdem er gedrückt
return
einfach warten, bis dieupdate()
-Methode gibtTrue
:Nähere Informationen und den Quellcode finden Sie auf [meine github-Seite](mein github-Seite.