
Comments

PyPath
🧭 PyPath — Умная навигация для твоего мира
⚡ PyPath — высокопроизводительное решение для поиска пути (Pathfinding) в проектах на pygame-ce. Реализовано на базе алгоритма поиска в ширину (BFS) с оптимизацией под тайловые сетки. Минимум настроек, автоматическое построение маршрутов в обход препятствий.
Разработана как идеальное дополнение к стеку Easy Dev, позволяющее оживить врагов и NPC всего парой строк кода.
#pypath #forpygame #pathfinding
✨ Особенности:
Прямая связь с PyCollide: Использует тот же список стен (walls_list), что и твоя физика. Не нужно рисовать отдельные карты проходимости!
Векторная точность: Возвращает путь в виде списка объектов pygame.Vector2, которые идеально подходят для PyCamera.
Тайловая гибкость: Настраиваемый размер сетки (grid_size) позволяет работать с любыми картами из Tiled (PyTMX).
Легковесность: Никаких тяжелых графов и сложных деревьев — только чистая логика перемещения.
🚀 Быстрый старт (Синтаксис):
from pypath import PyPath
# Инициализация (указываем размер тайла, например 32)
pathfinder = PyPath(grid_size=32)
# В игровом цикле:
# 1. Получаем список точек маршрута (Vector2)
# Передаем: (старт, финиш, список стен Rect из PyCollide)
path = pathfinder.get_path(enemy_rect.center, player_rect.center, walls_list)
# 2. Двигаем врага к следующей точке (если путь найден)
if path:
next_step = path[0]
# Дальше используем PyCollide для движения к next_step...
💡 Совет по использованию:
Используйте PyPath вместе с PyCamera, чтобы видеть, как ваши NPC уверенно обходят углы и колонны, не теряя игрока из виду. Для экономии ресурсов обновляйте путь не каждый кадр, а, например, раз в полсекунды.