local location p

....

set p = GetRandomLocInRect(GetPlayableMapRect())

... (бла-бла-бла, действия с точкой)

call RemoveLocation (p)

...

set p = null
Можно ли как-то лучше то же самое? Смущает подчёркивание красным в JNGP GetRandomLocInRect(GetPlayableMapRect()), мб тут что-то не вполне оптимально и или несколько утечно. Или это просто намёк на возможную, но устранённую в коде выше утечку точки?

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

local real x = GetRandomReal(GetRectMinX(GetPlayableMapRect()), GetRectMaxX(GetPlayableMapRect()))
local real y = GetRandomReal(GetRectMinY(GetPlayableMapRect()), GetRectMaxY(GetPlayableMapRect()))
...
(действия с координатами)
...
Любые действия с локейшном можно переделать под координаты, если не используется z-координата, как сказано выше. Но z-координату используют не только лишь все, мало кто может это делать.
И обнулять ничего не придётся, так как действительное число не утекает.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
28
8 лет назад
0
не подчёркивание а выделение красным
это означает что это бж функция
тоесть функция которая состоит из других функций
если нажать на неё с зажатым ctrl то увидишь её содержимое
вообще точки лучше не использовать
намного быстрее и оптимальнее использовать координаты
0
29
8 лет назад
0
тоесть функция которая состоит из других функций
Рофл. Это означает что это функция из blizzard.j, а функции там в основном утилити дерьмо.
Класс location нужен только в одном случае - GetLocationZ, во всех других случаях x, y и немного математики.
0
28
8 лет назад
0
Это означает что это функция из blizzard.j
найди в близардджи нативную функцию
я тебе памятник поставлю
моё объяснение намного проще ибо твоё требует ещё объяснять что такое blizzard.j
а судя по вопросу автор не особо хорошо знает jass и устройство архивов игры
1
33
8 лет назад
Отредактирован Кет
1
local real x = GetRandomReal(GetRectMinX(GetPlayableMapRect()), GetRectMaxX(GetPlayableMapRect()))
local real y = GetRandomReal(GetRectMinY(GetPlayableMapRect()), GetRectMaxY(GetPlayableMapRect()))
...
(действия с координатами)
...
Любые действия с локейшном можно переделать под координаты, если не используется z-координата, как сказано выше. Но z-координату используют не только лишь все, мало кто может это делать.
И обнулять ничего не придётся, так как действительное число не утекает.
Принятый ответ
0
29
8 лет назад
0
Твое объяснение подразумевает, что так подсветится и любая моя функция, что есть полный бред.
0
5
8 лет назад
0
Кет,
спасибо, то, что надо
Чтобы оставить комментарий, пожалуйста, войдите на сайт.