Кнопка Pygame с закругленными углами, аргумент border_radius не работает - PullRequest
1 голос
/ 30 апреля 2020

Я сейчас учусь пигмею. При программировании прямоугольников со скругленными углами я столкнулся с проблемой.

pygame.draw.rect () нарисовать прямоугольник прямоугольника (поверхность, цвет, прямоугольник) -> Прямоугольник прямоугольника (поверхность, цвет, прямоугольник, ширина = 0, border_radius = 0, border_radius = -1, border_top_left_radius = -1, border_top_right_radius = -1, border_bottom_left_radius = -1) -> Rect Dr aws прямоугольник на заданной поверхности.

border_radius (int ) - (необязательно) используется для рисования прямоугольника с закругленными углами. Поддерживаемый диапазон: [0, min (высота, ширина) / 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)

Я был бы очень рад, если бы вы могли мне помочь, большое спасибо заранее!

1 Ответ

1 голос
/ 01 мая 2020

Документация предназначена для 2.0.0.dev7, и в соответствии с этот PR , border_radius был добавлен после выпуска 2.0.0.dev6, GitHub reference . Итак, вы пытаетесь использовать то, что еще не вышло. Вы можете попробовать построить из исходного кода и использовать ключевое слово (хотя стабильность не обещает). Или вы можете попробовать использовать комбинацию прямоугольников и окружностей для достижения эффекта.

...