带圆角的Pygame按钮,border_radius参数不起作用

问题描述 投票:1回答:1

我目前正在学习pygame。当编程带有圆角的矩形时,我遇到了一个问题。

pygame.draw.rect()画一个矩形rect(表面,颜色,rect)-> Rectrect(表面,颜色,矩形,宽度= 0,border_radius = 0,border_radius = -1,border_top_left_radius = -1,border_top_right_radius = -1,border_bottom_left_radius = -1)->矩形在给定的表面上绘制一个矩形。

border_radius(int)-(可选),用于绘制带有圆角的矩形。支持的范围是[0,min(height,width)/ 2],其中0表示不带圆角的矩形。

这是pygame官方文档的描述。

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)

这里是主要部分。但是然后我收到此错误消息:

TypeError: 'border_radius' is an invalid keyword argument for this function

我已经尝试添加“ width = 2”参数,但随后它说参数太多。不幸的是,采用其他数字也无济于事。我目前正在使用pygame 2.0.0.dev6版本(SDL 2.0.10,python 3.8.1)

如果能帮助我,我将非常高兴,在此先多谢!

python pygame rounded-corners rect
1个回答
0
投票

该文档适用于2.0.0.dev7,根据this PR,在2.0.0.dev6 border_radius发布后添加了GitHub reference。因此,您正在尝试使用尚未出现的东西。您可以尝试从源代码构建并使用关键字(尽管稳定性不是保证)。或者,您可以尝试使用矩形和圆形的组合来达到效果。

© www.soinside.com 2019 - 2024. All rights reserved.