Seite 1 von 1

Wie kann man in Pygame Buttons erstellen ?

Verfasst: Montag 16. Februar 2015, 20:52
von N4SONIC
Titel lesen :)

Suchmaschine benutzen

Verfasst: Montag 16. Februar 2015, 21:00
von EyDu
Titel lesen :)

Re: Wie kann man in Pygame Buttons erstellen ?

Verfasst: Montag 16. Februar 2015, 21:01
von N4SONIC
Kann mir das nicht jemand so erklären ?

Re: Wie kann man in Pygame Buttons erstellen ?

Verfasst: Montag 16. Februar 2015, 21:07
von Hyperion
Ganz einfach: Du kannst eine Datenstruktur erstellen (normaler Weise benutzt man dafür eine Klasse), welche folgende Informationen hält:
  • Ein Rect für die geometrische bzw. grafische Repräsentation des Buttons
  • Ein Attribut, welches ein Callable aufnimmt.
Wenn nun ein Mausklick erfolgt, musst Du prüfen, ob dieser innerhalb des Rects erfolgt ist. Falls ja, rufst Du das an den Button übergebene Callable (=Callback) auf. Schon hast Du auf den Klick reagiert. Das nennt man in der Softwareentwicklung übrigens "Observer Pattern".

Wenn Du Dir schon mal andere GUI-Toolkits angeguckt hast, dann kommt Dir das hoffentlich bekannt vor. Bei Qt z.B. nennen sich diese Callbacks "Slots".

Da Du vermutlich mehrere Buttons haben willst, musst Du Dir zusätzlich noch eine Struktur überlegen, in der Du alle Buttons (und ggf. andere UI-Elemente) sammelst. Bei jedem Klick-Event musst Du sie dann alle durchgehen, bis Du entweder ein UI-Element gefunden hast oder eben auch nicht.

Es gibt zig auf pygame aufbauende UI-Libs. Evtl. schaust Du Dir einfach mal eine an und schauhst, wie das ganze dort umgesetzt ist :-)