![]() |
Я изначально не закладывал диагональные перемещения. Хотя волновой это позволяет делать.
Вот что пишут в вики про волновой алгоритм. Я пользую по 4м направлениям. |
Ладно, это всё частности.. просто волновой алгоритм, поиск в ширину, поиск в глубину, поиск Дейкстры - это всё частные случаи A*.
Цитата:
вот здесь хорошее описание алгоритмов поиска пути |
Это мой первый опыт в поиске пути, и пока меня устраивает волновой. Да суть даже не в алгоритме. Т.е. путь я получу (включая невозможный).
Тут вопрос как лучше (оптимальней) двигать объекты по полю, чтобы отлавливать возникающие коллизии в ходе движения каждого из объектов. У меня объекты двигает Tweener получая очередную координату опорной точки. Двигать объекты по-клеточно как то будет выглядеть дергано. Как вариант можно по ходу движения проверять проходима ли следующая клетка или нет, если нет генерить новый путь начиная с текущей. |
Цитата:
двигайте от клетки a1 до клетки a2 твинером (в начале движения выбираете направление анимации) затем до следующей клетки также (причем время прохождения по диагонали = 1.4 времени по прямой, можно легко ввести коэффициенты поверхности если надо - скорость тогда тоже будет пропорциональна) что-то вроде: Код AS3:
|
Заделал перемещение без опорных точек, получилось действительно те как дергано как я предполагал.
Бывают конечно "нахлесты" в плане коллизий, запишу это в "погрешности", ничего страшного :) |
Здравствуйте. Нашел пару хороших уроков по изометрии и алгоритму поиска пути
вот в этой книге:http://www.friendsofed.com/book.html?isbn=1430216085 На Демиарте эти уроки даже перевели. Но вот как соеденить эти 2 урока и внедрить алгоритм в изометрию не получается. Возможно кто-то этим занимался и может подсказать где что и как дописывать в классах? |
| Часовой пояс GMT +4, время: 19:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.