ich bin dabei ein etwas komplexeres Programm zu schreiben, mit dem ich eine Tello Drohne steuern will.
Meine Idee ist folgende:
ich habe mein main Programm, in dem ich die ganzen Unterfunktionen aus anderen Skripts aus diesem Ordner aufrufe. Das mache ich aus Übersichtlichkeitsgründen. Im main gibt es damit nur die main() Funktion, in der erst einige Werte initialisiert werden und dann die while-Schleife betreten wird. Zunächst werden die Funktiionen aufgerufen, dann zum Schluss die
Code: Alles auswählen
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
Nun möchte ich eine Fotoabspeicherfunktion implementieren. Das Bildmachen an sich ist kein Problem, nur möchte ich, dass nach Bildschuss eine Textbox erscheint, in die der Nutzer den Namen des BIldes eintragen kann. In diesem Zustand ist die Variable steuerung_aktive == Falsch.
Daran scheitere ich.
Ich nutze als Hilfe https://www.youtube.com/watch?v=Rvcyf4HsWiw&t=519s , sowie https://www.codegrepper.com/code-exampl ... hon+pygame
meine Klasse textBox sieht so aus:
Code: Alles auswählen
class textBox():
def __init__(self, x, y, breite, hoehe, buttonfarbe, text_input, textfarbe, schriftgroesse):
self.x = x
self.y = y
self.breite = breite
self.hoehe = hoehe
self.buttonfarbe = buttonfarbe
self.text_input = text_input
self.textfarbe = textfarbe
self.schriftgroesse = schriftgroesse
def zeichne_button(self, SCREEN, event):
rechteckiger_button = Rect(self.x, self.y, self.breite, self.hoehe)
if event.type == pygame.KEYDOWN:
if steuerung.ist_taste_gedrueckt("BACKSPACE"):
self.text_input = self.text_input[:-1]
else:
self.text_input += event.unicode
pygame.draw.rect(SCREEN, self.buttonfarbe, rechteckiger_button)
text_als_button = self.schriftgroesse.render(self.text_input, True, self.textfarbe)
#text_laenge = text_als_button.get_width()
SCREEN.blit(text_als_button, (self.x, self.y))
Code: Alles auswählen
# Fensterevents
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if steuerung_aktiv == False:
button_modul.text_box.zeichne_button(SCREEN, event)
Danke!