![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Ладно, это всё частности.. просто волновой алгоритм, поиск в ширину, поиск в глубину, поиск Дейкстры - это всё частные случаи A*.
Цитата:
вот здесь хорошее описание алгоритмов поиска пути
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 01.04.2010 в 10:00. |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 32
|
Это мой первый опыт в поиске пути, и пока меня устраивает волновой. Да суть даже не в алгоритме. Т.е. путь я получу (включая невозможный).
Тут вопрос как лучше (оптимальней) двигать объекты по полю, чтобы отлавливать возникающие коллизии в ходе движения каждого из объектов. У меня объекты двигает Tweener получая очередную координату опорной точки. Двигать объекты по-клеточно как то будет выглядеть дергано. Как вариант можно по ходу движения проверять проходима ли следующая клетка или нет, если нет генерить новый путь начиная с текущей. |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
двигайте от клетки a1 до клетки a2 твинером (в начале движения выбираете направление анимации) затем до следующей клетки также (причем время прохождения по диагонали = 1.4 времени по прямой, можно легко ввести коэффициенты поверхности если надо - скорость тогда тоже будет пропорциональна) что-то вроде: public function turn (e:TweenEvent = null) { // берем следующую точку пути, если надо пересчитываем var targetPoint:Point = getNextPoint(); //пришли - вообще надо не так сравнивать, это для примера.. if (targetPoint==currentPont) { dispathEvent(new PathEvent(PathEvent.END)); return; } // двигаем твинером - //... //по окончанию - двигаем дальше tweener.addEventListener(TweenEvent.END,turn); }
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 01.04.2010 в 10:27. |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 32
|
Заделал перемещение без опорных точек, получилось действительно те как дергано как я предполагал.
Бывают конечно "нахлесты" в плане коллизий, запишу это в "погрешности", ничего страшного ![]() |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 16
|
Здравствуйте. Нашел пару хороших уроков по изометрии и алгоритму поиска пути
вот в этой книге:http://www.friendsofed.com/book.html?isbn=1430216085 На Демиарте эти уроки даже перевели. Но вот как соеденить эти 2 урока и внедрить алгоритм в изометрию не получается. Возможно кто-то этим занимался и может подсказать где что и как дописывать в классах? |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:50. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| плиточный мир |
|
|