Button mit Pygame

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Kamik423
User
Beiträge: 93
Registriert: Donnerstag 28. März 2013, 16:53

Hallo zusammen:
Ich möchte mit pygame einen Button aus zwei Kreisen und einem Rechteck zeichen, dass er von der Form her ungefähr so aussieht: http://pixabay.com/p-23954/?no_redirect
(das bringe ich fertig)
aber ich hätte gerne einen Wert der der True wird wenn ich die Maus über den Button halte.
Wie mache ich das?
Danke schon im Vorraus

Kamik423
0x4c65742773206d616b652073757265207468617420686973746f7279206e6576657220666f726765747320746865206e616d6520656e746572707269736521
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Hallo,

einen eigenen mouseover-Event besitzt pygame nicht, aber über die `pygame.mouse.get_pos()` Funktion lässt sich die Position der Maus abfragen. Befindet sie sich über Deinem Button, so befindet sie sich über Deinem Button... :mrgreen:

Wenn Du Dein Google anwirfst und 'pygame mouse over' ins Rennen schickst findest Du unter anderen ziemlich weit oben die beiden folgenden Links:
Detect mouseover an image in Pygame
pygame-menu-mouseover.py

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Kamik423
User
Beiträge: 93
Registriert: Donnerstag 28. März 2013, 16:53

Vielen Dank erst mal für die schnelle Antwort :D
ich hätte aber noch ein paar fragen zum ersten Beispiel:
-geht so etwas wie "rechteck = pygame.draw.rect(screen, [255, 0,0], (0,0, 50, 20))"
-geht "kreis.get.circle()..."
dann währe alles viel einfacher.
Danke noch mal für die Antwort.

Kamik423
0x4c65742773206d616b652073757265207468617420686973746f7279206e6576657220666f726765747320746865206e616d6520656e746572707269736521
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@Kamik423:
Ich bin mir jetzt nicht sicher, ob ich Dich richtig verstehe...
Wenn Du eine kreisförmige Grafik in pygame anzeigst, hat pygame noch lange keine Informationen über die genauen Koordinaten dessen, was innderhalb der Grafik angezeigt wird.
Damit aber erkannt wird, wann sich der Mauszeiger tatsächlich innerhalb eines z. B. Kreises befindet, muss man wissen, welche Punkte sich innerhalb des Kreises befinden.
Sowas hat man irgendwann mal in der Schule gelernt, BlackJack in der 4. Klasse Grundschule, die meisten anderen etwas später... :mrgreen:
Ich allerdings kann es Dir nicht sagen, weil ich an dem Tag krank war...

Wie auch immer: Dein Wunsch nach einer `kreis.get_circle()` musst Du Dir selber erfüllen, weil pygame einfach nicht wissen kann, was sich auf den Grafiken, die Du anzeigst, befindet.

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Kamik423
User
Beiträge: 93
Registriert: Donnerstag 28. März 2013, 16:53

und wie ist das mit:
"rechteck = pygame.draw.rect(......)
rechteck.get.rect()..."

Würde das funktionieren?

Kamik423
0x4c65742773206d616b652073757265207468617420686973746f7279206e6576657220666f726765747320746865206e616d6520656e746572707269736521
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Jetzt schau' Dir doch mal das Beispiel an, das beantwortet doch Deine Frage. Viel mehr kann ich dazu nicht sagen, wird doch alles beschrieben...

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Kamik423
User
Beiträge: 93
Registriert: Donnerstag 28. März 2013, 16:53

Danke :wink:
jetzt bin ich weiter

Kamik423
0x4c65742773206d616b652073757265207468617420686973746f7279206e6576657220666f726765747320746865206e616d6520656e746572707269736521
Antworten