Pygame — это бесплатная кроссплатформенная библиотека с открытым исходным кодом для разработки мультимедийных приложений, таких как видеоигры, с использованием Python. Он использует библиотеку Simple DirectMedia Layer и несколько других популярных библиотек для абстрагирования наиболее распространенных функций, что делает написание этих программ более интуитивно понятной задачей.
Нам нужна ваша помощь, чтобы сделать pygame как можно лучше! Приветствуются новые участники.
Перед установкой pygame вы должны убедиться, что Python установлен на вашем компьютере. Чтобы это узнать, откройте командную строку (если у вас Windows) или терминал (если у вас MacOS или Linux) и введите следующее:
питон --версия
Если появится сообщение типа «Python 3.8.10», это означает, что Python установлен правильно. Если появляется сообщение об ошибке, это означает, что оно еще не установлено. Затем вам необходимо перейти на официальный сайт, чтобы загрузить его.
После установки Python вам необходимо выполнить окончательную проверку: вам нужно убедиться, что установлен pip. Обычно pip предустановлен вместе с Python, но мы никогда не уверены в этом. Как и в случае с Python, введите следующую команду:
пип --версия
Если появится сообщение типа «pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)», значит, вы готовы к установке pygame! Чтобы установить его, введите следующую команду:
pip установить pygame
После установки pygame быстро протестируйте свою библиотеку, введя следующую команду, которая откроет один из множества примеров игр, которые уже установлены:
python3 -m pygame.examples.aliens
Если это не сработает, в разделе «Начало работы» официального сайта содержится дополнительная информация по проблемам, связанным с конкретной платформой, например добавление Python в настройки PATH вашего компьютера.
Если вы только начинаете работать с pygame, вы сможете начать довольно быстро. Pygame поставляется со множеством учебных пособий и вводных материалов. Также имеется полная справочная документация по всей библиотеке. Просмотрите документацию на странице документации. Вы также можете просмотреть документацию локально, запустив python -m pygame.docs
в своем терминале. Если документы не найдены локально, вместо этого будет запущен онлайн-сайт.
Онлайн-документация соответствует версии разрабатываемой версии pygame на GitHub. Это может быть немного новее, чем версия pygame, которую вы используете. Чтобы обновиться до последней полной версии, запустите pip install pygame --upgrade
в своем терминале.
Самое приятное то, что в каталоге примеров есть множество небольших программ, с помощью которых вы можете сразу начать играть с кодом.
Pygame — это мощная библиотека для разработки игр, предлагающая широкий спектр функций, упрощающих процесс кодирования. Давайте углубимся в то, что может предложить pygame:
Графика. С pygame создание динамичной и привлекательной графики стало еще проще. Библиотека предоставляет простые, но эффективные инструменты для 2D-графики и анимации, включая поддержку изображений, прямоугольников и многоугольников. Являетесь ли вы опытным разработчиком игр или только начинаете, pygame поможет вам.
Звук. Pygame также включает поддержку воспроизведения и управления звуком и музыкой, что позволяет легко добавлять звуковые эффекты и фоновую музыку в ваши игры. Благодаря поддержке форматов файлов WAV, MP3 и OGG у вас есть множество вариантов на выбор.
Ввод. Pygame предоставляет интуитивно понятные функции для обработки ввода с клавиатуры, мыши и джойстика, что позволяет быстро и легко реализовать элементы управления игроком в ваших играх. Больше не нужно бороться со сложным входным кодом: pygame делает его простым.
Разработка игр. Наконец, pygame предоставляет полный набор инструментов и функций, специально разработанных для разработки игр. От обнаружения столкновений до управления спрайтами — в pygame есть все необходимое для создания захватывающих и увлекательных игр. Создаете ли вы платформер, игру-головоломку или что-то среднее между ними, pygame поможет вам.
Если вы хотите использовать функции, которые в настоящее время находятся в разработке, или внести свой вклад в pygame, вам нужно будет собрать pygame локально из его исходного кода, а не устанавливать его с помощью pip.
Установка из исходного кода достаточно автоматизирована. Большая часть работы будет включать в себя компиляцию и установку всех зависимостей pygame. Как только это будет сделано, запустите сценарий setup.py
, который попытается автоматически настроить, собрать и установить pygame.
Более подробную информацию об установке и компиляции можно найти на вики-странице компиляции.
Спасибо всем, кто помог создать эту библиотеку. Также следует выразить особую благодарность.
Спасибо тем, кто присылает исправления и исправления: Ники Спахиеву, Гордону Тайлеру, Натаниэлю Прайсу, Дэйву Уоллесу, Джону Попплуэллу, Майклу Урману, Эндрю Стро, Майклу Хадсону, Оле Мартину Бьорндалену, Эрве Ковелье, Джеймсу Мазеру, Лало Мартинсу, Тимоти Странексу, Чаду. Лестер, Маттиас Спиллер, Бо Янгеборг, Дмитрий Борисов, Кэмпбелл Бартон, Диего Эссайя, Эяль Лотем, Реджис Дегропп, Эммануэль Хейнри, Рэнди Кельбер, Мэттью Л. Дэниел, Нирав Патель, Форрест Войт, Чарли Нолан, Фрэнки Робертсон, Джон Крукофф, Лоренц Квак, Ник Ирвин, Майкл Джордж, Сол Спатц, Томас Ибботсон, Том Ротамель, Эван Кроске , Кэмбелл Бартон.
И наши охотники за жуками выше всех: Ангус, Гийом Пру, Фрэнк Райзер, Остин Генри, Каве Каземи, Артуро Альдама, Майк Малчек, Майкл Бенфилд, Дэвид Лау.
Есть еще много людей, которые предложили полезные идеи, поддерживали этот проект и, по сути, облегчили нам жизнь. Спасибо!
Огромное спасибо людям, оставляющим комментарии к документации и добавляющим информацию в вики pygame.org.
Также большое спасибо людям, создающим игры и размещающим их на веб-сайте pygame.org, чтобы другие могли учиться и получать от них удовольствие.
Большое спасибо Джеймсу Пейджу за хостинг pygame bugzilla.
Также большое спасибо Роджеру Динглдайну и команде SEUL.ORG за отличный хостинг.
Очевидно, что Pygame сильно зависит от SDL и Python. Он также ссылается на несколько других небольших библиотек и встраивает их. Модуль шрифтов использует SDL_ttf, который зависит от freetype. Модули микшера (и mix.music) зависят от SDL_mixer. Модуль изображения зависит от SDL_image, который также может использовать libjpeg и libpng. Модуль преобразования имеет встроенную версию SDL_rotozoom для собственной функции rotozoom. Модулю surfarray требуется пакет Python NumPy для работы с многомерными числовыми массивами. Версии зависимостей:
CPython | >= 3.6 (или используйте PyPy3) |
СДЛ | >= 2.0.8 |
SDL_mixer | >= 2.0.0 |
SDL_изображение | >= 2.0.2 |
SDL_ttf | >= 2.0.11 |
SDL_gfx | (Дополнительно, поставляется в комплекте) |
NumPy | >= 1.6.2 (Необязательно) |
Эта библиотека распространяется под лицензией GNU LGPL версии 2.1, которую можно найти в файле docs/LGPL.txt
. Мы оставляем за собой право размещать будущие версии этой библиотеки под другой лицензией.
По сути, это означает, что вы можете использовать pygame в любом проекте, который захотите, но если вы вносите какие-либо изменения или дополнения в сам pygame, они должны быть выпущены с совместимой лицензией (предпочтительно отправлены обратно в проект pygame). Игры с закрытым исходным кодом и коммерческие игры — это нормально.
Программы в подкаталоге examples
находятся в свободном доступе.
См. документы/лицензии для лицензий зависимостей.