Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт:
6,885Активность: |
Проверка, можно ли двигать дальше
Вообщем, у меня реализовано периодическое триггерное передвижение юнита, примерно вот так:
Код:
и вот где написано <условие> нужно сделать проверку, нет ли у воина на пути какого-либо препятствия(воин, декорация, и т.д.) Подскажите как лучше сделать |
08.05.2008, 23:39 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
вообще движение реализованно не совсем верно
1) проверять тип карты путей (есть соседняя тема в этом разделе, про тип проходимости, надеюсь найдешь, если нет - пиши) (собстно не всегда надо) 2) пикать юнитов в радиусе и через базу данных сверять их размеры 3) пикать деструбы и проверять их размеры (тоже писалось в соседнем топике под названием "вопрос") 4) проверять высоту рельефа (ну это при 3д движении) так же рекомендую посмотреть: http://xgm.guru/forum/showthread.php?t=15889 |
09.05.2008, 10:24 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт:
6,885Активность: |
Цитата:
я показал только примерно ту часть кода, где нужно поставить проверку. Насчет правильности своего движения я уверен на 100%. vJass компилятора у меня нету(ставил - NewGenPack - не пашет), так что проверить твой спелл не смог. Значит только через пик всех вокруг? ну значит сделаю так... |
|
09.05.2008, 13:18 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
впринципе мой пример вполне реально переделать на неГенПак)
Цитата:
ну я и говорю что она не совсем правильна (т.е. она 2д, не учитывает рельеф и т.д.) |
|
09.05.2008, 13:36 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт:
6,885Активность: |
ADOLF, так у меня движение только 2д, т.е. в определенный момент времени(не буду говорить идею) юнит начинает движение в определенном направлении, и двигается он по ровной местности(без возвышенностей и впадин), но должен остановиться при столкновении с другим юнитом/декорацией
Я уже почти реализовал это |
09.05.2008, 14:22 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Void
offline
Опыт:
1,632Активность: |
1: Есть один вариант столкновения об стены, он реализован в Moving System(система переиодического движения снарядов на GUI). 2: карты сохраненные на vJass можно загрузить на обычном редакторе, но без сохранения т.к. карта уже скомпилирована на vJass компиляторе и готова к запуску. |
09.05.2008, 19:37 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт:
6,885Активность: |
Void, Свою систему я уже реализовал))
Все равно я vJass не понимаю, лучше обойтись без этих наворотов высокого уровня и сделать все по-своему через параллельные массивы, я даже кэшем почти никогда не пользуюсь. Отредактировано Alex_Hell, 10.05.2008 в 12:28. |
09.05.2008, 21:35 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Цитата:
ммм, кста вЖасс єто не только хай левел (я его тоже ненавижу и про паралельные массивы тру, но там фича с обьявленим переменных - мего) |
|
10.05.2008, 09:58 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт:
6,885Активность: |
ADOLF, это ты о том, что в любом месте можно глобалки объявлять? про это я знаю, но приходится обходится обычным способом...
Не хочется создавать новой темы, поэтому задам вопрос сдесь: Вот я сделал движение юнита-снаряда по таймеру( с периодном в 0.04), вроде бы все правильно, но вот одна проблемка: сам юнит-снаряд движется к цели, а его модель стоит на месте, где он появился...Пробовал проверять не стоит ли он - нет - X/Y меняются...Почему тогда модель стоит на месте? |
10.05.2008, 12:27 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
happy_horror
2 + 2 = 22 :-D
offline
Опыт:
7,818Активность: |
Alex_Hell думаю это просто глюк, либо: ты как его заставляеш двигаться? ..мм может для данной анимки снаряда надо период побольше, а то он просто прорисовываться не успевает, ведь 0.04 это 25 раз в секунду, хотя в идеале должно быть всё нормально
|
10.05.2008, 12:33 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт:
6,885Активность: |
Цитата:
наврят ли...я пробовал поставить период таймера на 0.1 и все равно, и модели другие ставил. Не понимаю. Может у снаряда нужно какие-то параметры в редакторе объектов ставить особые, а какие то нельзя? Alex_Hell добавил: Все я понял! У меня стояла скорость движения = 0... Надо было хоть скока-то скорости дать. Вот терь можно закрывать. |
|
10.05.2008, 13:03 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vadim
offline
Опыт:
603Активность: |
Функцией SetUnitPosition(unit, x, y) можно двигать юнитов у которых скорость 0. |
10.05.2008, 15:43 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
happy_horror
2 + 2 = 22 :-D
offline
Опыт:
7,818Активность: |
Цитата:
+1, даже если у юнита скорость анимации бега и шага стоит 0...тестил только что |
|
10.05.2008, 15:52 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DFlyer
<3 MJ
offline
Опыт:
43,079Активность: |
Проблема решена. Закрыто. |
10.05.2008, 15:54 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Цитата:
вообще желательно использовать именно сет юнит Х/У Цитата:
ну самое тру - .025 (если у вас все правильно написанно лагов не будет) |
||
10.05.2008, 19:34 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|