Глава 20 · Разработка игр с Pygame

Pygame и pygame-ce

Специализированный инструмент для игр — с более тонким контролем над кадрами анимации, чем у Turtle и Tkinter.

Что такое Pygame и pygame-ce

Pygame — библиотека специально для игр: она даёт гораздо больше контроля над кадрами анимации, столкновениями и звуком, чем Turtle (главы 6–7, 12, 19) или Tkinter (главы 16–18). В отличие от них, Pygame не входит в стандартную поставку Python — его нужно установить отдельно.

У Pygame есть два пакета с почти одинаковым названием, и это стоит сразу прояснить. Классический pygame — исходный проект. pygame-ce (Community Edition) — его активно поддерживаемое продолжение: API во многом совместим с классическим pygame, большинство базовых примеров pygame работает без изменений, а импорт остаётся тем же самым — import pygame. При этом pygame-ce получает новые версии и исправления быстрее и надёжнее устанавливается на актуальных версиях Python. В этой книге мы устанавливаем и используем pygame-ce.

Устанавливаем и импортируем Pygame

ustanovka.txt
pip install pygame-ce
Пакет и имя модуля — разные вещи
Название пакета (то, что вы ставите через pip) — pygame-ce. Имя модуля (то, что вы импортируете в коде) — по-прежнему pygame, без изменений: pygame-ce специально сохранил это имя, чтобы существующий код на pygame работал без правок. Весь код в этой книге пишется как import pygame.
Не держите pygame и pygame-ce в одном окружении одновременно
Оба пакета устанавливаются под одним и тем же именем модуля pygame, поэтому если в окружении случайно оказались сразу оба, непредсказуемо, какой из них реально импортируется. Если раньше вы уже устанавливали классический pygame, сначала удалите его: pip uninstall pygame, и только потом ставьте pip install pygame-ce. Новое обычное виртуальное окружение (глава 15) помогает изолировать зависимости проекта от глобальных пакетов. Но и внутри него не устанавливайте одновременно pygame и pygame-ce.
import_pygame.py
import pygame

pygame.init()   # в проектах этой книги мы начинаем настройку Pygame с этого вызова
Практика: установка и первый импорт
Pygame открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика выполняется локально
Открыть практику →