XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Линкольн
Barg Ent.
offline
Опыт: 4,812
Активность:
Способы определить боевую единицу между двумя точками
Не уверен, что угадал с разделом. Подскажите пожалуйста все возможные способы определить боевую единицу между двумя точками. Возможно, кто-нибудь осведомлен о новых способах, алгоритмах поиска.
Старый 07.06.2009, 19:47
J
expert
offline
Опыт: 48,747
Активность:
создаем группу, с определенным шагом идет в направлении от одного юнита к другому, и в определенном радиусе берем всех юнитов в группу, в конце имеется группа со всеми юнитами между точками, другого способа не знаю
Старый 07.06.2009, 20:01
Линкольн
Barg Ent.
offline
Опыт: 4,812
Активность:
J
Система не позволяет применить такой способ, поскольку определять нужно для каждого игрока в отдельности, на больших отрезках, в таймере с малым периодом.

Линкольн добавил:
Может такое случится, что другого способа просто нет.
Старый 07.06.2009, 20:08
J
expert
offline
Опыт: 48,747
Активность:
ну есть еще вариант
x = maxx-minx
y = maxy-miny
len = sqrt(x*x+y*y)
x = x/len
y = y/len
делать большой регион с началом в одоной точке и в конце в другой, брать всех юнитов там
и для каждого юнита делать что-то типо
ux = GetUnitX(u)-minx
uy = GetUnitY(u)-miny
len = sqrt(ux*ux+uy*uy)
ux = ux/len
uy = uy/len
cos = x*ux+y*uy
if (len*cos < DIS) then
action
endif
он естествено не оптимальнее, но просто как еще один способ, тут уже нету шагов, юниты берутся ровно по зажаному растоянию DIS от линии, в то время как в первом способе точность выборки зависила от шага
Старый 07.06.2009, 20:24
agentex

offline
Опыт: 34,534
Активность:
Линкольн вот пример без пика кругами, делал для человека не шарящего в джасе, поэтому на гуи+кс
Прикрепленные файлы
Тип файла: w3x CalculatingAngles.w3x (11.1 Кбайт, 17 просмотров )
Старый 07.06.2009, 20:29
ScorpioT1000
Работаем
offline
Опыт: отключен
не проще создать рект и регион и проверять isunitinregion ?
Старый 07.06.2009, 20:37
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 01:57.