Когда юниты расставляются через полярное смещение позиции героя, то есть на определённое расстояние и угол от неё, то утекает лишь позиция героя или в каждом месте, где по полярному смещению ставится юнит, тоже создаётся точка?

Принятый ответ

8gabriel8:
Про эту функцию
нет
Но в ней тоже самое, передаешь точку и тебе возвращает новую
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
19
6 лет назад
2
Похожие вопросы:

ответ
Какой ужас
Делай вот так.
бронепоезд
создать.
направить на 128 точек наверх(90)
сделать неперманентным
текст удалится через 3 секунды
текст затухнет до 100% прозрачности через 3 секунды
Вот чёрт. не успел приплюснуть к посту.
ответ
Да, создаётся.
Можно записать точку в переменную, а после смещения удалить -
call RemoveLocation(udg_loc).
Или перемещать по координатам -
SetUnitX = 0, SetUnitY = 0.
ответ
после разложения костей юниты сами выгружаются из памяти
функция "wait" то же вызывает утечки
она не вызывает утечки, она сама по себе кривая и не подходит под большинство задач
если создать переменную "Point" типа "точка" и изначально задать ей положение центр области "Final", а потом обращаться уже к этой переменной "Point" в триггере событие "боевая единица входит в область "Start", действие "отдать приказ боевой единице следовать в "Point" , то новые точки создаваться не будут?
да
только в гуи еще и создание юнитов утекает тоже насколько я помню, надо тоже заранее точку делать
впринципе можно было бы обойтись одной точкой на все действия, но вам видимо пока рано
ответ
VVelikolepniy:
Для удобства. Если его нет, добавь этот код:
function HandleCounter_Update takes nothing returns nothing
   local integer i = 0
   local integer id
   local location array P
   local real result=0
   loop
      exitwhen i >= 50
      set i = i + 1
      set P[i] = Location(0,0)
      set id = GetHandleId(P[i])
      set result = result + (id-0x100000)
   endloop
   set result = result/i-i/2
   loop
      call RemoveLocation(P[i])
      set P[i] = null
      exitwhen i <= 1
      set i = i - 1
   endloop
   call LeaderboardSetItemValue(udg_HandleBoardH,0,R2I(result))
endfunction

function HandleCounter_Actions takes nothing returns nothing
   set udg_HandleBoardH = CreateLeaderboard()
   call LeaderboardSetLabel(udg_HandleBoardH, "Счетчик")
   call PlayerSetLeaderboard(GetLocalPlayer(),udg_HandleBoardH)
   call LeaderboardDisplay(udg_HandleBoardH,true)
   call LeaderboardAddItem(udg_HandleBoardH,"Хэндлы",0,Player(0))
   call LeaderboardSetSizeByItemCount(udg_HandleBoardH,1)
   call HandleCounter_Update()
   call TimerStart(GetExpiredTimer(),0.05,true,function HandleCounter_Update)
endfunction

function InitTrig_HandleCounter takes nothing returns nothing
   call TimerStart(udg_TimerH,0,false,function HandleCounter_Actions)
endfunction
И создай переменную таймер с именем TimerH, и переменную таблицы лидеров с именем HandleBoardH
потом инициируй функцию InitTrig_HandleCounter
call InitTrig_HandleCounter()

0
18
6 лет назад
Отредактирован Hodor
0
Если ты про BJ функцию PolarProjectionBJ, то:
Ты туда передаешь точку и тебе возвращает новую точку
Т.е нужно их самому удалить после использования.
Проще сделать свою функцию где будут передаваться и возвращаться координаты X и Y
0
26
6 лет назад
0
UrsaBoss:
Если ты про BJ функцию PolarProjectionBJ
Про эту функцию
OffsetLocation(GetPlayerStartLocationLoc(Player(0)), 256.00, 90.00)
0
5
6 лет назад
Отредактирован Macghoul
0
Да, точка создается, и ее надо удалять, т.к, возникают утечки. Для этого желательно перейти на jass. Перед функцией где ты применяешь точку создешь локальную переменную (local location 'название' = TargetLoc) позже после того как сделал все что тебе нужно, в конце пишешь (call RemoveLocation 'название') Примерно так. Не знаю. Если не очень знаете jass, то можете эти действия писать на GUI. Просто выбираете действие custom script(свой сценарий).
0
18
6 лет назад
0
8gabriel8:
Про эту функцию
нет
Но в ней тоже самое, передаешь точку и тебе возвращает новую
Принятый ответ
2
26
6 лет назад
2
Macghoul, извини, но у тебя уровень низкий, предупреждений не ноль, да и в возможностях GUI в JNPG ты не сильно шаришь. Не уверен, можно ли было тебе доверять.
0
18
6 лет назад
Отредактирован Hodor
0
8gabriel8 в теории он всё правильно сказал) Если работать с точками, то инициализируешь локалку с нужной точкой, а в конце всех действий просто удаляешь её (и локалку обнуляешь)
3
18
6 лет назад
Отредактирован Maniac_91
3
На фиг точки. Координаты быстрее и без утечек.
Ссылка на статью.
0
18
6 лет назад
0
Maniac_91:
На фиг точки. Координаты быстрее и без утечек.
Ссылка на статью.
я об этом упомянул в начале)
0
18
6 лет назад
0
UrsaBoss, а я ссылку добавил)
Чтобы оставить комментарий, пожалуйста, войдите на сайт.