Создание игр – перспективное направление разработки, которое стремительно развивается в 21 веке. Для того, чтобы программировать развлекательные продукты, нужно для начала выбрать специализированный язык, а затем изучить его особенности и инструменты. Небольшие проекты можно сделать и на Python.
Статья расскажет о том, какие преимущества и недостатки имеет соответствующий язык разработки, а также познакомит с Pygame – одним из мощнейших инструментов при создании the game. Также будут изучены уже написанные проекты.
Определение
Python – высокоуровневый язык программирования общего назначения. Используется для создания самых разных приложений: от игровых до бизнес-программ. Поддерживает концепции объектно-ориентированной разработки.
Python – язык с динамической типизацией данных. Он является достаточно простым для изучения, благодаря чему его активно используют новички. The first game написать на Python будет не слишком трудно даже с минимальными знаниями.
Плюсы
Python является языком разработки со следующими преимуществами:
- стабильное функционирование;
- читабельный и простой код;
- элементарный синтаксис, в основе которого лежит язык ABC;
- универсальность – одинакового подходит как для the business apps, так и для игр;
- в небольших приложениях работает достаточно быстро;
- наличие динамической типизации.
У The Python имеется обширный спектр фреймворков, а также встроенных инструментов и библиотек. Все это помогает with the game programming.
Минусы
Недостатков у Питона не очень много. К ним относят:
- отсутствие строгой типизации;
- итоговый объем получившегося приложения.
Из-за «веса» получаемые games can be slowly. Приложения рискую медленно работать, а также сильно нагружать операционную систему устройства. Именно поэтому for the game programming Питон используется тогда, когда речь идет о не самых крупных проектах.
Игровой цикл
Игровой цикл – это объект, который заставляет программный код загружаться из раза в раз. В игре им выступает кадр. В нем может происходить множество действий. Они разделяются на несколько категорий:
- Ввод данных. Производится со стороны непосредственного пользователя.
- Обновление кадра.
- Визуализация. Эта операция отвечает за вывод изображения на экран. В процессе производится отрисовка элементов там, где они должны были располагаться по первоначальной задумке.
In the big projects появляется искусственный интеллект и физика. Для создания полноценной игры нужно разобраться с воспроизведением звуков и музыки. Иногда в ней предусматривается набор очков, повышение уровня, а также индикаторы жизни.
Pygame – это…
The Pygame – мощный инструмент разработчика развлекательного программного обеспечения. Фреймворк (библиотека), совместимая с Python 3.0. Данный модуль вышел в 2000 году и стремительно развивался. Его поддержка производится по сей день.
Игры, созданные при помощи the Pygame – это масштабируемые проекты. Они одинаково хорошо запускаются on the mobile и ПК.
Модуль Pygame:
- является кроссплатформенным;
- обладает открытым исходным кодом;
- достаточно прост в изучении;
- имеет неплохую поддержку;
- обладает зрелой library.
Найти tutorial of the Pygame не составит особого труда – в сети полно документации (documents) и видео-гайдов. Данный модуль является обязательным для изучения всеми, кто планирует писать игры на Питоне. Это его ключевое предназначение.
Pygame Platform – это платформа, которая используется при разработке мультимедийных приложений с графическим интерфейсом.
Начало работы
Для того, чтобы использовать данный модуль, его нужно сначала инициализировать. Скачивается библиотека с сервиса pygame org. Здесь же можно найти documentation and tutorials по рассматриваемой «платформе».
Перед созданием проекта потребуется:
- Изучить основы программирования to the Python language.
- Использовать команду pip install pygame. Она отвечает за инициализацию.
Теперь можно формировать проект и редактировать его.
Пример приложения
Pygame Platform – инструмент, помогающий создавать не только простые приложения, но и достаточно крупные игры. Вот элементарный пример кода:
import pygame
import sys
pygame.init()
screen = pygame.display.set_mode((1200, 800))
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
Здесь:
- import pygame отвечает за импорт libraries, включенный to the module;
- init() используется для подготовки модулей к работе;
- screen отвечает за создание графического окна, передав в set_mode() разрешение в качестве парный цифр;
- while True – основной цикл, перехватывающий событие закрытия основного графического окна посетителем.
После наступления желаемого события происходит завершение работы с библиотекой при помощи функции quit. Exit() отвечает за прекращение использования всего итогового приложения.
Рисование фигур
While running Pygame Platform, разработчикам может потребуется изображение геометрических фигур. Прямоугольные объекты представлены типом Rect:
Создать объект соответствующего типа in the program легко – нужно указать координаты левого верхнего угла прямоугольника, а также длины его сторон:
Здесь стоит обратить внимание на то, что начало координат расположено in the left corner окна, сверху. В изучаемой библиотеке функции отображения геометрических фигур расположены в модуле под названием draw.
Изначально все графические объекты, которые хочется разместить на основном экране, сначала попадают в специальный буфер of the platform. Отображение изменений производится при помощи функции flip.
Любой tutorial расскажет о функциях рисования графических фигур:
- Line. Позволяет рисовать линию на поверхности с заданным цветом и началом. Также предусматривается конец в точке end_pos и возможность указания толщины линии.
- Lines. Рисует линию, которая соединяет точки последовательности. Каждая из них представлена в приложении координатной парой. Если третий параметр (closed) – это true, конечная точка будет соединена с начальной.
- Circle. Точка pos здесь – это центр. Если толщина линии будет равна нулю, окружность закрасится.
- Ellipse. Функция, которую уроки по рассматриваемому модулю описывают как возможность нарисовать эллипс, ограниченный прямоугольником Rect. Если толщина линии равняется нулю, фигура будет закрашена.
Еще один вариант, который поддерживает библиотека Pygame – это рисование полигонов. Обозначается как polygon. Это – последовательность pointlist на заданной поверхности выбранного цвета. Каждая точка – это пара координат. Если width равен нулю, получившийся многоугольник будет закрашен.
Цвета
Цвета в модуле представлены моделью RGB. Посмотреть ее можно на Wikipedia org. Значение данного параметра задается в рамках диапазона от 0 до 255 включительно. Первая характеристика указывает на количество красного, вторая – зеленого, третья – голубого. Чем меньше значение, тем более темным окажется оттенок.
Вот несколько примеров, которые используют различные platforms:
- белый – (255, 255, 255);
- красный – (255, 0, 0);
- черный – (0, 0, 0).
Любой tutorial по Pygame в Python укажет на то, что модуль color включает в себя словарь – THECOLORS.
Его ключи – это названия разных цветовых гамм. Подключается он при помощи команды, представленной выше.
Текст и шрифт
Pygame documentation на сайте Питона org содержит данные о работе с текстом и шрифтами. Последние – это группы символов, которые объединены по стилистическому или иному признаку. Шрифты в библиотеке представлены типом под названием Font.
Для того, чтобы создать объект Font на основе уже имеющегося шрифта в системе, нужно вызвать функцию:
Здесь:
- параметр name отвечает за передачу функции имени шрифта;
- size – это размер «символов» в пунктах;
- bold и italic – особенности начертания.
Списки уже имеющихся шрифтов в системе удается получить при помощи команды get_fonts():
Теперь при помощи метода render для объекта Font нужно получить изображение с текстом. Последний передается методу built() для отрисовки на основном дисплее устройства:
Тест при обработке соответствующего кода будет располагаться по координатам (50, 50).
Класс GameObject
В официальной documentation рассматриваемого модуля выделяется объект GameObject. Он представлен визуальным элементом, который знает, как рендерить самого себя. Позволяет хранить границы и перемещаться. С аналогичными возможностями на изучаемой платформе есть класс Sprite. Новичкам он не нужен.
Этот код работает так:
- GameObject согласно tutorial document используется в виде базового класса других объектов в играх.
- Отвечает за разнообразие свойств прямоугольника.
- Метод update() перемещает объект с установленной (текущей) скоростью.
- Метод draw() должен определяется подклассами. Он ничего не предпринимает в программном коде.
Для создания собственной игры через «Пигейм»также потребуется знать the class Game.
Класс Game
Это – игровое ядро. Оно выполняется в основном цикле. Наделен полезными инструментами. Обладает такими методами:
- Init. Используется за инициализацию Pygame, шрифтов, а также микшера звуков. Three вызова нужны, чтобы задействовать в исходном коде только нужные элементы, а также держать подсистемы под контролем. С его помощью создаются фоны, основная поверхность и таймер с поддержкой отображения частоты кадров.
- Update и draw. Вызывают соответствующие методы. При наложении объектов на дисплее, порядок списка объектов будет определять, что рендерится изначально.
- Handle_events(). Метод, за счет которого прослушиваются генерируемые события. Сюда можно отнести нажатие на кнопки мыши, а также события клавиш. Каждое действие вызывает все функции-обработки, которые проходят обработку событий.
Также используется метод run(). Он отвечает за работоспособность основного цикла. Используется до получения в значении game_over итога «ложь».
Готовые проекты – наглядные примеры
При помощи Pygame Python создаются довольно крупные проекты. Сейчас самыми известными среди них являются:
- EVE Online;
- Battlefield;
- Mount and Blade;
- Civilization 4.
Начать работу с упомянутым модулем можно, посмотрев эти уроки. А можно закончить специализированные дистанционные компьютерные курсы.