Контуры и углы
Часть раздела Игровой цикл путешествия по Pygame на Coddy. Урок 10 из 32.
До этого момента все фигуры были залиты. Укажите фигуре ширину, и pygame нарисует только её контур толщиной в указанное количество пикселей:
pygame.draw.rect(screen, (240, 240, 240), (100, 100, 120, 60), 2)
pygame.draw.circle(screen, (240, 240, 240), (300, 130), 30, 2)Ширина 0 или отсутствие ширины означает, что фигура будет залита. Это работает одинаково для прямоугольников, кругов и многоугольников.
У прямоугольников также могут быть скруглённые углы. border_radius — это радиус скругления каждого угла в пикселях. Передайте его по имени после остальных аргументов:
pygame.draw.rect(screen, (80, 160, 255), (100, 200, 120, 60), border_radius=10)Для кнопок, панелей и индикаторов здоровья часто используют оба приёма: залитую скруглённую фигуру с тонкой обводкой.
Задание
ЛегкоПреврати прямоугольник в кнопку:
- Задай синему прямоугольнику
border_radius=12. - После него нарисуй белую обводку
(240, 240, 240)в точке(130, 130, 220, 80), шириной3пикселя, сborder_radius=16.
Попробуйте сами
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Button")
clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (80, 160, 255), (140, 140, 200, 60))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Все уроки раздела Игровой цикл
Потренируйтесь самостоятельно: Песочница Pygame