![]()
B100D E1F
Scarecrow
![]() ![]() offline
Опыт:
4,719Активность: |
Полярки
Народные знатоки джасса, сделайте доброе дело!
В нативах вара3 есть всем известная функция function PolarProjectionBJ takes location source, real dist, real angle returns location
local real x = GetLocationX(source) + dist * Cos(angle * bj_DEGTORAD) local real y = GetLocationY(source) + dist * Sin(angle * bj_DEGTORAD) return Location(x, y) endfunction Вопрос: как её переписать таким образом, чтобы она не создавала утечек в карте? |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Garret
Недоброе творится
![]() ![]() offline
Опыт:
3,893Активность: |
B100D E1F
1. Делай покоординатно, почти всё можно сделать таким способом (формула из приведённой тобой функции) 2. Сделать функцию самому и перемещать MoveLocation 3. Удалять точку после использования |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Линкольн
Barg Ent.
![]() offline
Опыт:
4,812Активность: |
B100D E1F. Дарю полезную ссылку.
http://xgm.guru/forum/showthread.php?t=20224 |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Чебурашка
![]() ![]() offline
Опыт:
5,460Активность: |
обойтись без функции и писать сразу local real x = GetLocationX(source) + dist * Cos(angle * bj_DEGTORAD) local real y = GetLocationY(source) + dist * Sin(angle * bj_DEGTORAD) |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
B100D E1F
Scarecrow
![]() ![]() offline
Опыт:
4,719Активность: |
Цитата:
А просветите как сиё сделать? |
|
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
J
expert
![]() offline
Опыт:
48,447Активность: |
Цитата:
|
|
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
B100D E1F
Scarecrow
![]() ![]() offline
Опыт:
4,719Активность: |
Просто специфика такова... Переписываю объёмистую вещь с гуи на джасс, и проще написать ф-цию без утечек и позаменять, чем перелопачивать весь код.
J: прошу без намёков на оскорбление |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ELDAR
НИИ 4А-ВО кафедра SPELLS
![]() ![]() offline
Опыт:
8,394Активность: |
Цитата:
ага его чо то проперло ну а лучше конечно обойтись координатами |
|
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
B100D E1F
Scarecrow
![]() ![]() offline
Опыт:
4,719Активность: |
Народ, таки скажите: как удалить точку после использования? |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ELDAR
НИИ 4А-ВО кафедра SPELLS
![]() ![]() offline
Опыт:
8,394Активность: |
call RemoveLocation( loc ) |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Daemonik
![]() ![]() offline
Опыт:
5,084Активность: |
Ну я конечно не знаток. Но раз у тебя координаты точки находятся в локалке(в типе real), то удалять их уже не надо. Вот если бы ты использовал вместо координат точки локацию, то надо было бы писать call RemoveLocation(loc) Поправьте меня если я не то сказал. |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Линкольн
Barg Ent.
![]() offline
Опыт:
4,812Активность: |
Daemonik. Сказал-то все верно, но суть в том, что в полярных координатах локации вообще не уместны. Выше давал ссылку, там все подробно написано с примерами.
|
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|