Глава 20 · Разработка игр с Pygame
Рисуем первые игровые объекты
Первые игровые объекты — простые фигуры, рисуемые заново на каждом кадре.
Игровые объекты в Pygame рисуют прямо на экране каждый кадр — простыми фигурами (кругами, прямоугольниками), как мы делали в Turtle, или готовыми изображениями. Начнём с фигур — они не требуют внешних файлов и отлично подходят для первых игр. Полноценных персонажей с изображениями и анимацией мы соберём позже (разделы 20.19 и 20.23) — здесь же важен сам принцип: объект на экране — это просто фигура, которую рисуют заново на каждом кадре в нужном месте.
personazhi.py
CVET_IGROKA = (100, 200, 255)
CVET_VRAGA = (255, 80, 80)
x_igroka, y_igroka = 300, 350
x_vraga, y_vraga = 300, 50
# внутри игрового цикла, после screen.fill(...):
pygame.draw.rect(screen, CVET_IGROKA, (x_igroka, y_igroka, 40, 40))
pygame.draw.circle(screen, CVET_VRAGA, (x_vraga, y_vraga), 20)
pygame.draw.rect() принимает кортеж
(x, y, ширина, высота) — (x, y) это
левый верхний угол, как у Canvas в главе 18, а не центр, как у
circle().
Rect — прямоугольник как объект
Для более сложных игр Pygame предлагает класс
pygame.Rect — он хранит позицию и размер вместе и умеет проверять пересечения (.colliderect()) — то, что понадобится для космического шутера в главе 21.
Практика: рисуем первые игровые объекты
Pygame открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика выполняется локально