PyGame — мощная и популярная библиотека для разработки игр на Python. Он предоставляет набор инструментов и функций, облегчающих создание игр и других интерактивных приложений. Одной из полезных функций PyGame является возможность рисовать объекты и фигуры.
Модуль pygame.draw
В PyGame рисование объектов и форм — простой процесс. Вы можете использовать pygame.draw Модуль для рисования фигур, таких как прямоугольники, круги, линии и многое другое.
Перед началом убедитесь, что у вас есть pip установлен на вашем устройстве, затем используйте эту команду для установки PyGame модуль:
pip установить pygame
Рисование основных фигур
pygame.draw Модуль предоставляет несколько функций, позволяющих рисовать основные фигуры. Каждая функция принимает набор параметров для определения формы и ее положения.
-
прямоугольник(): с помощью этой функции вы можете нарисовать прямоугольник. Это одна из наиболее часто используемых фигур в играх. Вы можете создавать платформы, стены и другие объекты с помощью прямоугольников. Функция принимает четыре параметра: поверхность (поверхность, на которой рисуется прямоугольник), цвет, прямоугольник (объект Rect) и ширина (толщина линии).
pygame.draw.rect (поверхность, цвет, прямоугольник, ширина)
-
круг(): Нарисовать круг. Он принимает четыре параметра: поверхность, цвет, положение (центр круга) и радиус.
pygame.draw.circle (поверхность, цвет, положение, радиус)
-
многоугольник(): Нарисовать многоугольник. Он принимает четыре параметра: поверхность, цвет, точки (список точек, определяющих форму многоугольника) и ширину.
pygame.draw.polygon (поверхность, цвет, точки, ширина)
-
линия(): Нарисуйте линию. Он принимает четыре параметра: поверхность, цвет, start_pos и end_pos.
pygame.draw.line (поверхность, цвет, start_pos, end_pos)
Полный список функций и их параметров вы можете найти на официальном Документация PyGame для модуля рисования.
Рисование сложных форм
Помимо основных фигур, PyGame также позволяет рисовать сложные фигуры, такие как дуги, эллипсы и алиасы.
-
дуга(): Эта функция рисует дугу на поверхности. Дуга – это часть окружности. Он принимает шесть параметров: поверхность, цвет, прямоугольник, начальный_угол, конечный_угол и ширину. Задайте углы в градусах, где 0 градусов указывает вправо и увеличивается по часовой стрелке. Параметр ширины определяет толщину дуги.
pygame.draw.arc (поверхность, цвет, прямоугольник, начальный_угол, конечный_угол, ширина)
-
эллипс(): Нарисуйте эллипс на поверхности. Эллипс – это вытянутый круг. Он принимает четыре параметра: поверхность, цвет, прямоугольник и ширину.
pygame.draw.ellipse (поверхность, цвет, прямоугольник, ширина)
-
аалин (): Используется для рисования одной сглаженной линии на поверхности. Сглаживание — это метод, используемый для сглаживания краев фигуры, чтобы она выглядела более естественно. Он принимает четыре параметра, которые отражают линия() функция: поверхность, цвет, start_pos и end_pos.
pygame.draw.aaline (поверхность, цвет, start_pos, end_pos)
Создание вложенных фигур в PyGame
Еще одна интересная особенность PyGame — возможность рисовать фигуры внутри другой фигуры. Вы можете сделать это, используя комбинацию основных функций рисования фигур в PyGame.
Чтобы нарисовать фигуру внутри другой фигуры, вы можете сначала нарисовать внутреннюю фигуру, а затем нарисовать внешнюю фигуру поверх нее. Внутренняя форма может быть любой базовой формой, такой как прямоугольник или круг.
Например, чтобы нарисовать прямоугольник внутри круга, вы можете использовать pygame.draw.circle() функцию, чтобы нарисовать круг, а затем использовать pygame.draw.rect() Функция для рисования прямоугольника поверх него.
Вы можете найти следующие примеры кода в это репозиторий GitHub.
Вот пример фрагмента кода, который демонстрирует, как нарисовать прямоугольник внутри круга:
Импортировать пигейм
# Инициализировать pygame
pygame.init()# Создаем окно
окно = pygame.display.set_mode((800, 600))# Создаем круг
Circle_rect = pygame.draw.circle (окно, (255, 255, 255), (400, 300), 100)# Создаем поверхность для прямоугольника
прямоугольник_поверхность = pygame. Поверхность((50, 50))
прямоугольник_поверхность.set_colorkey((0, 0, 0))# Рисуем прямоугольник на поверхности
pygame.draw.rect(rectangle_surface, (255, 0, 0), (0, 0, 50, 50))# Блицируем поверхность на круг
window.blit(прямоугольная_поверхность, (375, 275))# Основной цикл
покаИстинный:
# Выход из игры
для событие в pygame.event.get():
если event.type == pygame. ПОКИДАТЬ:
pygame.выйти()
Выход()
# Обновить дисплей
pygame.display.update()
Это создает эффект прямоугольника внутри круга. Вы можете использовать эту технику для создания более сложных форм и игровых элементов, комбинируя несколько фигур.
Рисование изображений
PyGame также позволяет рисовать изображения. Вы можете использовать pygame.image.load() функция для загрузки изображения из файла и pygame.image.blit() функционировать, чтобы нарисовать изображение на экране.
Синтаксис для pygame.image.load() выглядит так:
pygame.image.load (имя файла)
А вот синтаксис для pygame.image.blit():
pygame.image.blit (изображение, прямоугольник)
Помимо загрузки и рисования изображений, PyGame также предоставляет несколько других функций, связанных с изображениями. Эти функции позволяют различными способами манипулировать изображениями, например масштабировать, поворачивать, переворачивать и обрезать.
Добавление расширенных функций
PyGame также предоставляет некоторые дополнительные функции для рисования объектов и фигур. Например, вы можете использовать pygame.mouse.get_pos() функция, чтобы получить положение мыши и pygame.mouse.get_pressed() функция для получения состояния кнопки мыши. С помощью этих функций вы можете создать функцию рисования по щелчку, которая позволит вам рисовать фигуры, щелкая мышью.
Импортировать пигейм
# Инициализировать pygame
pygame.init()# Создаем окно
окно = pygame.display.set_mode((800, 600))# Основной цикл
покаИстинный:
# Получить положение мыши
mouse_position = pygame.mouse.get_pos()# Получить состояние кнопки мыши
mouse_pressed = pygame.mouse.get_pressed()# Выход из игры
для событие в pygame.event.get():
если event.type == pygame. ПОКИДАТЬ:
pygame.выйти()
Выход()# Рисование круга при нажатии мыши
если mouse_pressed[0] == 1:
pygame.draw.circle (окно, (255, 0, 0), положение_мыши, 20)
# Обновить дисплей
pygame.display.update()
Ниже приведен вывод:
Простое создание игровых спрайтов в PyGame
PyGame также предоставляет мощный набор инструментов для простого создания игровых спрайтов и объектов. С pygame.draw модуль, вы можете легко создавать спрайты, которые вы можете использовать в своих играх. Вы можете легко создавать персонажей, объекты и другие игровые элементы.