Pygame Rechteck mit runden Ecken

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Pedossi
User
Beiträge: 11
Registriert: Donnerstag 15. März 2018, 20:54

Guten Tag zusammen!

Ich bin momentan dabei Pygame zu lernen. Ich hatte vor mit einem Rechteck und per Kollision einen Button zu erstellen, welcher schön aussehen sollte, weshalb die Ecken rund werden sollten.
In der offiziellen Pygame Dokumentation steht dazu folgendes :
pygame.draw.rect() draw a rectangle rect(surface, color, rect) -> Rect rect(surface, color, rect, width=0, border_radius=0, border_radius=-1, border_top_left_radius=-1, border_top_right_radius=-1, border_bottom_left_radius=-1) -> Rect Draws a rectangle on the given surface.

border_radius (int) -- (optional) used for drawing rectangle with rounded corners. The supported range is [0, min(height, width) / 2], with 0 representing a rectangle without rounded corners.
Mein Code dazu:

Code: Alles auswählen

username_rect = pg.rect.Rect(screenwidth/2 - 1/8*screenwidth, screenheight*1/5, 1/4*screenwidth, username_title_render.get_height() + 10)
pg.draw.rect(screen, (0,0,0), username_rect,border_radius = 15)
Dieser gibt mir jedoch folgende Fehlermeldung:

Code: Alles auswählen

TypeError: 'border_radius' is an invalid keyword argument for this function
Obwohl ich es genau wie in Dokumentation beschrieben gemacht habe, bekomme ich diese Meldung. Mit der Zahl hab ich schon variiert und auch mal ein Argument wie width=2 davorgesetzt, wobei dann die Fehlermeldung kommt, dass zu viele Argumente benutzt werden.
Momentan benutze ich Pygame version 2.0.0.dev6 (SDL 2.0.10, python 3.8.1).
Ich habe mich bereits bei Google und anderen Plattformen schlau gemacht aber zu "border_radius" kann ich nichts finden, lediglich viele Beiträge bei dem dies aufwendig umgangen wird.
Ich würde mich sehr über eine Rückmeldung freuen. Vielen Dank.
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Versuch mal kein keyword Argument. Einfach nur eine Zahl. pygame ist ein wrapper für C, und kein so super komfortabler. Es gibt da ein paar Ecken wo man anstößt.
Antworten