Улучшенный поиск пути

исходники и примеры в формате .capx

Сообщение Улучшенный поиск пути
» 08 июн 2018, 09:48

Комплексное решение от faulknermano, которое он, в свою очередь, подсмотрел в плагине rexrainbow )
Процедура выглядит затейливо, используются аж три поведения, два сторонних плагина - но в целом это то, чего давно хотелось. Особенно полезно для карт со множеством препятствий, стен и т.п., в том числе изометрических, с гексогональной разметкой.
По клику Pathfinding ищет путь и находит - в памяти создаются путевые точки. На этом миссия Pathfinding-а заканчивается.
Если в поле зрения базы есть финиш и нет препятствий, создаются два узла - объекты node. И поведение MoveTo катит базу по кратчайшей прямой между ними, вместо Pathfinding-а.
Если препятствия есть - работает цикл, создающий узлы-ноды на точках Pathfinding-а, которые обладают полем зрения, ограниченным препятствиями. Цикл игнорирует все точки, кроме той, которую нода видит последней. На месте этой последней видимой точки цикл создаёт новую ноду, и уже она видит следующий кусок пути за поворотом - и так далее.
MoveTo возит базу от узла к узлу.


Pathfinding - путь прижимается к ячейкам препятствий, угол базы виляет от точки к точке, что может вызывать частые перескоки анимации на диагоналях:
Изображение

Результат:
Изображение


Плагин rexrainbow InstansGroup (формирует группы объектов-клонов) для механики не принципиален. Он есть у автора и оптимизирует код, поэтому оставлен.


Pathfinding-LOS-MoveTo1.capx
(3.44 МБ) Скачиваний: 60

rex_ginstgroup.7z
(14.6 КБ) Скачиваний: 36

rex_moveto.7z
(15.3 КБ) Скачиваний: 29
Последний раз редактировалось repkino 26 июн 2018, 02:05, всего редактировалось 6 раз(а).
Изображение
Аватара пользователя

Участник
Сообщений: 872
Я тут с 31 май 2017
Репутация 184 [ ? ]

Сообщение Улучшенный поиск пути
» 08 июн 2018, 10:26

Не могу открыть, исходник просит ParallaxBGSprite
Изображение
Аватара пользователя

Игродел
Сообщений: 1073
Я тут с 14 сен 2012
Откуда: Красноярск
Репутация 129 [ ? ]

Сообщение Улучшенный поиск пути
» 08 июн 2018, 10:30

перезалил :pardon:
Изображение
Аватара пользователя

Участник
Сообщений: 872
Я тут с 31 май 2017
Репутация 184 [ ? ]

Сообщение Улучшенный поиск пути
» 08 июн 2018, 10:37

Спасибо, интересный исходник.
Есть конечно косяки, когда меняешь направление в движении.
Изображение
Аватара пользователя

Игродел
Сообщений: 1073
Я тут с 14 сен 2012
Откуда: Красноярск
Репутация 129 [ ? ]

Сообщение Улучшенный поиск пути
» 08 июн 2018, 10:53

Zaksoid, если поправишь, скинь пожалуйста. Я уже всё свободное время переизрасходовал )
Изображение
Аватара пользователя

Участник
Сообщений: 872
Я тут с 31 май 2017
Репутация 184 [ ? ]

Сообщение Улучшенный поиск пути
» 08 июн 2018, 13:56

Перезалил. Напутал маленько с таймингом, теперь всё ок.
Изображение
Аватара пользователя

Участник
Сообщений: 872
Я тут с 31 май 2017
Репутация 184 [ ? ]



Вернуться в Исходники и Примеры для Construct 2

Сейчас эту тему просматривают

Зарегистрированные пользователи: нет зарегистрированных пользователей

Наверх