Круги, линии, многоугольники
Часть раздела Игровой цикл путешествия по Pygame на Coddy. Урок 9 из 32.
До сих пор ты рисовал прямоугольники. В pygame.draw есть и другие фигуры, и все они начинаются одинаково: поверхность для рисования, затем цвет.
pygame.draw.circle(screen, (255, 196, 0), (100, 80), 30)
pygame.draw.line(screen, (240, 240, 240), (0, 200), (480, 200), 3)
pygame.draw.polygon(screen, (60, 200, 120), [(240, 40), (280, 120), (200, 120)])Для окружности указываются её центр и радиус. В отличие от прямоугольника, её положение задаётся серединой, а не левым верхним углом. Радиус 30 означает, что диаметр окружности равен 60 пикселям.
Для линии указываются две конечные точки и, в последнюю очередь, её ширина в пикселях. Если ширину не указать, линия будет толщиной 1 пиксель.
Для многоугольника указывается список угловых точек, а фигура между ними заполняется цветом; последняя точка соединяется с первой. Три точки образуют треугольник, четыре — ромб.
Задание
ЛегкоНарисуй парусник в море после заливки:
- Солнце: жёлтый круг цвета
(255, 196, 0)с центром в точке(380, 80)и радиусом40. - Море: синяя линия цвета
(80, 160, 255)от точки(0, 280)до точки(480, 280), толщиной4пикселя. - Парус: красный многоугольник цвета
(235, 80, 80)с вершинами(240, 120),(240, 250)и(160, 250).
Попробуйте сами
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Sailboat")
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.display.flip()
clock.tick(60)
pygame.quit()
Все уроки раздела Игровой цикл
Потренируйтесь самостоятельно: Песочница Pygame