Высокоуровневый 2D game framework на Python (поверх pygame). Desktop, web и mobile из одной кодовой базы.
pip install spriteproДля mobile: pip install "spritepro[kivy]"
Шаблон проекта: python -m spritePro.cli --create
pip install --upgrade spritepro| Обычно приходится | В SpritePro |
|---|---|
| Ручной игровой цикл | s.run(scene=...) — сцена + auto-render |
| Своя камера | Camera API, follow, zoom, shake |
| UI с нуля | Button, ToggleButton, TextSprite, Slider, Layout |
| Физика отдельно | pymunk-интеграция, типы тел, коллизии |
| Визуальный editor | Sprite Editor → JSON → spawn_scene(...) |
| Сохранения парсить | PlayerPrefs → JSON |
| Mobile отдельно | platform="kivy" — та же логика |
SpritePro = pygame + физика, Layout, редактор сцен, мультиплеер, UI.
import spritePro as s
class MainScene(s.Scene):
def __init__(self):
super().__init__()
self.player = s.Sprite("", (50, 50), s.WH_C, speed=5, scene=self)
def update(self, dt):
self.player.handle_keyboard_input()
s.run(scene=MainScene, size=(800, 600), title="My Game")Всё: окно, сцена, игровой цикл, управление.
- Sprite — базовый класс с движением, эффектами
- UI: Button, ToggleButton, Slider, TextSprite, Layout (flex/grid/circle/line)
- Физика: pymunk, DYNAMIC/STATIC/KINEMATIC тела, коллизии
- Анимации: Tween, Fluent API (
DoMove,DoScale,SetEase...) - Частицы: ParticleEmitter, шаблоны, пулы
- Мультиплеер: TCP, лобби, синхронизация
- Audio: звук и музыка
- Save/Load: PlayerPrefs в JSON
- Sprite Editor: визуальная сборка сцен → JSON
Визуальный редактор сцен с иерархией, инспектором, gizmo.
python -m spritePro.cli --editor
Собираете сцену → сохраняете в JSON → загружаете в игре:
rt = spawn_scene("level.json", scene=self)
player = rt.exact("player").Sprite(speed=5)| Функция | pygame | arcade | SpritePro |
|---|---|---|---|
| Авто-рендер | ❌ | ✅ | ✅ |
| Готовая камера | ❌ | ✅ | ✅ |
| Физика (pymunk) | ❌ | ✅ | ✅ |
| Layout (flex/grid) | ❌ | ❌ | ✅ |
| Редактор сцен (JSON) | ❌ | ❌ | ✅ |
| Мультиплеер (TCP) | ❌ | ❌ | ✅ |
| PlayerPrefs | ❌ | ❌ | ✅ |
- Платформеры, аркады, RPG
- Пазлы, tower defense
- Мультиплеерные игры
- Мобильные игры (
platform="kivy")
python -m spritePro.demoGames.physics_demo # физика
python -m spritePro.demoGames.fluent_tween_demo # твины
python -m spritePro.demoGames.layout_demo # лейауты
python -m spritePro.demoGames.local_multiplayer_demo --quicks.run(scene=MainScene, platform="kivy") # Android/iOSpython -m spritePro.cli --android . --android-orientation portraitWeb: docs/builds/building_web.md
| Что | Где |
|---|---|
| Полный индекс | DOCUMENTATION_INDEX.md |
| Для новичков | docs/GETTING_STARTED.md |
| Физика | docs/core/physics_guide.md |
| UI/Layout | docs/ui/layout_ui.md |
| Мультиплеер | docs/systems/networking_guide.md |
| Sprite Editor | docs/editor/sprite_editor.md |
| Mobile | docs/builds/mobile_kivy.md |
- CONTRIBUTING.md — как внести вклад
- ROADMAP.md — планы развития
- CHANGELOG.md — история изменений
