Разработка игр – это просто с Pygame Zero
Программирование

Разработка игр – это просто с Pygame Zero

Pygame Zero упрощает разработку игр, делая большую часть работы за вас

Программирование может быть пугающей перспективой для любого, кто погружается в мир разработки игр

Python часто почитается как отличный путь к кодированию, поскольку этот язык ставит во главу угла удобочитаемость. Если вы знакомы с Python, то, возможно, уже заметили, насколько этот язык близок к английскому

Pygame Zero – это отличная отправная точка для начинающих программистов на Python, которым больше хочется творить, чем тратить время на написание шаблонных функций

Что такое Pygame Zero?

Image Credit: TheCorruptor/Pygame.

Pygame Zero был создан для того, чтобы обеспечить более легкий опыт кодирования игр для начинающих программистов на Python

Дэниел Поуп (‘Lord Mauve’ на GitHub) задался целью создать безбарьерный вход для начинающих программистов на Python.Pygame zero устраняет необходимость воссоздавать самый базовый обычный код, чтобы вы могли сосредоточиться на создании удивительных результатов

Используя Pygame Zero, вы можете экспериментировать со спрайтами изображений и дизайном вашей игры, не слишком беспокоясь о низкоуровневых деталях

Установка Pygame Zero

Новые дистрибутивы Linux и macOS поставляются с включенным Python. В зависимости от того, как часто вы запускаете инструмент обновления вашего дистрибутива, вы можете оказаться с устаревшей версией Python

Сначала проверьте версию установленного Python:

python3 --version

Если у вас установлен Python 3, эта команда выведет точную версию в командную строку:

Далее установите PIP—установщик пакетов Python—, используя одну из этих команд или альтернативный метод установки PIP:

apt install python3-pip # Debian
dnf install python3-pip # Fedora

Установив PIP, перейдите к установке Pygame Zero:

pip3 install pgzero

Процесс будет выглядеть примерно так:

Установив Pygame Zero, вы можете приступать к созданию игр. Например, посмотрите эту игру, посвященную классике NES, Excite Bike, с использованием модулей Pygame

Готовы ли вы создать свою первую игру?

Создание с помощью Pygame Zero

Существует множество замечательных руководств, репозиториев и примеров игр, на которых вы можете учиться или строить

Репозиторий Pygame GitHub содержит несколько отличных примеров ретро-игр, чтобы вы могли начать. Возьмите классику, такую как Pong, Tetris, Mines или Tron, чтобы насладиться ностальгией и узнать, как работать с Pygame Zero

Чтобы начать с начального курса по Pygame Zero, загрузите этот минимальный проект с GitHub. Код на Python хорошо документирован, а файл README.md объясняет, какие зависимости вам понадобятся

Взгляните на intro.py, и вы увидите несколько общих функций, которые помогут вам познакомиться с функциональностью Pygame Zero

Обзор функций

Вы можете загрузить спрайт, передав классу Actor базовую часть его имени файла. Например, чтобы загрузить файл images/alien.png:

alien = Actor('alien')

Функция draw() указывает компьютеру, что рисовать на экране. Если ваши спрайты, звуки и код находятся в правильной структуре каталогов, вы можете не возиться с лишним синтаксисом. Например, спрайт инопланетянина можно отобразить следующим образом:

def draw():
screen.clear()
alien.draw()

Для перемещения спрайтов можно использовать функцию update():

def update():
alien.left += 2

if alien.left > WIDTH:
alien.right = 0

Pygame будет вызывать функцию update() на каждом кадре. Этот код говорит компьютеру сдвигать спрайт пришельца вправо, пока он не окажется за краем экрана. В этот момент он сбрасывает позицию в крайнее левое положение. Процесс повторяется до тех пор, пока вы не закроете окно или не нажмете CTRL + C в терминале для завершения программы

Вы можете добавить забавный элемент, используя функцию on_mouse_down(). Используйте эту функцию для проверки щелчка мыши в той же позиции, что и спрайт пришельца. Выведите подходящий ответ и измените спрайт пришельца, чтобы отобразить изображение alien_hurt.png

Теперь у вас есть простая, но функциональная игра, поражающая цель. Запустите код командой pgzrun intro.py. Не забудьте нажать на спрайт инопланетянина, чтобы получить ответ:

Вы можете просмотреть документацию по встроенным объектам Pygame Zero, чтобы понять основные концепции Pygame Zero

Творческое вдохновение

Когда начинаешь работать, может быть так много возможностей, что трудно понять, с чего начать. Вот несколько идей, которые помогут вам вдохнуть творческий дух!

Paperchase

Ознакомьтесь с этой быстрой демонстрацией двухпользовательской сайд-скроллинговой игры с фигурками из палочек

2D платформер с причудливыми возможностями

Этот подробный учебник длится около двух часов. Однако это отличное учебное пособие для тех случаев, когда вы готовы выйти за рамки основ программирования игр

Бросьте себе вызов с помощью разработки игр

Чтобы развить свои навыки работы с Python, попробуйте запрограммировать несколько базовых игр с помощью Pygame Zero

Существует множество замечательных ресурсов, таких как документация по Pygame, учебники на YouTube и удобные руководства, которые помогут вам в вашем путешествии по кодированию в Pygame

После того, как вы потратите время на совершенствование своих навыков работы с Python и Pygame, подумайте о том, чтобы внести свой вклад в сам проект с открытым исходным кодом. Подробности можно найти в репозитории Pygame Zero GitHub

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий