Кто подскажет как раскрыть эту функции. можно ли в ней углы как то плюсовать.
local unit Unit = CreateUnitAtLoc(GetOwningPlayer(caster),UnitId, GetOwningPlayer(GetSpellAbilityUnit()), PolarProjectionBJ(PolarProjectionBJ(GetSpellTargetLoc(), 150.00, ( AngleBetweenPoints(GetSpellTargetLoc(), GetUnitLoc(GetSpellAbilityUnit())) + 90.00 )), 150.00, ( AngleBetweenPoints(GetUnitLoc(GetLastCreatedUnit()), GetSpellTargetLoc()) + 90.00 )), bj_UNIT_FACING )
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
30
Nevermourne, ну да, и вместо того, чтоб один раз получить GetUniX и положить его в локалку, мы будем вызывать функцию на каждый чих. Зато в одну строчку.
2
Nevermourne, ну да, и вместо того, чтоб один раз получить GetUniX и положить его в локалку, мы будем вызывать функцию на каждый чих. Зато в одну строчку.
Эта функция не создает утечек, поэтому не вижу причин её не вызывать. Всё программирование основывается на написании различных функций, которые ты потом вызываешь.
30
Nevermourne, ну да, сначала мы не экономим на вызовах функций, потом не видим разницы между O(1) и O(n^2), а потом Боинги падают.

Ну и в добавок, почему тогда вообще всё в одну строчку не засунуть? Так же лучше будет.
CreateUnit(GetOwningPlayer(GetTriggerUnit()),'h000',GetUnitX(GetTriggerUnit())+150*Cos(Atan2(GetUnitY(t)-GetSpellTargetY(), GetUnitX(t) -GetSpellTargetX())), GetUnitY(GetTriggerUnit())+150*Sin(Atan2(GetUnitY(t)-GetSpellTargetY(), GetUnitX(t) -GetSpellTargetX())),Atan2(GetUnitY(t)-GetSpellTargetY(), GetUnitX(t) -GetSpellTargetX())*bj_RADTODEG)
2
Nevermourne, ну да, сначала мы не экономим на вызовах функций, потом не видим разницы между O(1) и O(n^2), а потом Боинги падают.

Ну и в добавок, почему тогда вообще всё в одну строчку не засунуть? Так же лучше будет.
CreateUnit(GetOwningPlayer(GetTriggerUnit()),'h000',GetUnitX(GetTriggerUnit())+150*Cos(Atan2(GetUnitY(t)-GetSpellTargetY(), GetUnitX(t) -GetSpellTargetX())), GetUnitY(GetTriggerUnit())+150*Sin(Atan2(GetUnitY(t)-GetSpellTargetY(), GetUnitX(t) -GetSpellTargetX())),Atan2(GetUnitY(t)-GetSpellTargetY(), GetUnitX(t) -GetSpellTargetX())*bj_RADTODEG)
Ну не преувеличивай)
Я просто спросил почему ты считаешь такой вариант более комфортным.
30
Я просто спросил почему ты считаешь такой вариант более комфортным.
Потому что в своём варианте ты провтыкал второй вызов CreateUnit.
2
Потому что в своём варианте ты провтыкал второй вызов CreateUnit.
Мы же говорили про обьем кода, а не работоспособность функции.
Больше всего пространства, как по мне, занимают мат. формулы, по типу скверрута, с локалкой для каждого значения.

Ну ладно. Это вопрос оптимизации - думаю, каждый привык оптимизировать по своему.
30
Мы же говорили про обьем кода, а не работоспособность функции.
Ну да, второй вызов функции никак на объём кода не влияет.
Больше всего пространства, как по мне, занимают мат. формулы, по типу скверрута, с локалкой для каждого значения.
Ога, код мы я так понимаю ради пространства пишем? Однобуквенные переменные кстати намного меньше его занимают.
2
Мы же говорили про обьем кода, а не работоспособность функции.
Ну да, второй вызов функции никак на объём кода не влияет.
Больше всего пространства, как по мне, занимают мат. формулы, по типу скверрута, с локалкой для каждого значения.
Ога, код мы я так понимаю ради пространства пишем? Однобуквенные переменные кстати намного меньше его занимают.
Ладно, в твоих словах тоже есть истина. Я не хочу спорить)
28
Nevermourne, то, о чем ты говоришь называется инкапсуляцией, она не всегда имеет место быть. То есть в качестве оптимизации реально лучше сократить количество вызовов одной и той же функции, если она используется 2+ раз, путём заноса в переменную
30
rsfghd, инкапсуляция это помещение методов работы с объектом в сам объект.
18
Почему не написать все то же самое в одну строку?
В 90% случаев без разницы если это читается понятно. Тут больше вопросы к названиям переменных в одну букву, например назвать юнита t "шикарное" решение
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.