PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Pygame event key ersetzen



Helios86
26.12.2017, 00:41
Ich hab ein kleines Problem mit der Fotobox die ich für Silvester bauen will bei dem ihr mir eventuell helfen könnt. Ich hab hier ein pygame Skript verlinkt : https://github.com/ronbal/photobooth/blob/master/photobooth.py bei dem ich das event elif event.key == pygame.K_SPACE:
starting()
Durch das Event.type == pygame. MOUSEBUTTONDOWN:
starting()
(Linksklick) ersetzen bzw ergänzen will. Wenn ich das im Skript ersetze wird es zwar ausgeführt, Aber es startet nicht. Weder beim Drücken des buzzers, noch bei Betätigung der normalen Maus. Ich hab eine alte Funkmaus geschlachtet und nen Buzzer daraus gebaut, das funktioniert auch super, falls jemand bedarf hat stelle ich gern die Stl. Datei für das Gehäuse zur Verfügung. Habt ihr eine Idee an was das liegen könnte? Ich wünsche euch frohe Weihnachten, besinnliche Festtage und einen Guten Rutsch ins neue Jahr. Lg. Helios

RoboTrader
26.12.2017, 09:27
Auf die Schnelle entdecke ich nichts, warum es nicht funktionieren sollte.
Hier hast du ein Leerzeichen vor MOUSEBUTTONDOWN, aber da es aufgerufen wird, hast du das sicher nicht im Script.
Und mit K_SPACE funktioniert deine Konstruktion fehlerfrei?
Dann wäre es hilfreich, dein Script oder zumindest die erste While-Schleife und die starting-Funktion hier zu posten.

Viel Erfolg und fröhliches Programmieren
RoboTrader

HerrWerWolf
26.12.2017, 09:40
Moin Moin,

über der Abfrage "elif event.key == pygame.K_SPACE:" hast du die Abfrage "if event.type == pygame.KEYDOWN:" stehen. Dadurch wird nur nach Tasten, aber nicht nach der Maus gefragt.
Du müsstest direkt nach "if event.type == pygame.MOUSEBUTTONDOWN:" abfragen.

Beispiel:


for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_1:
print("1")

if event.key == pygame.K_r:
print("R")

if event.type == pygame.MOUSEBUTTONDOWN:
print("Mousebutton")

Helios86
26.12.2017, 18:53
Vielen Dank für euren Rat!
Es funktioniert.
ich musste nur folgende Funktion ergänzen

if event.type == pygame.MOUSEBUTTONDOWN:
starting()

Muss wohl iwie Blutarmut in der Birne gehabt haben :-)
Noch ein paar Kleinigkeiten und Silvester kann Kommen!

Danke Danke Danke!
LG. Helios