Кто подскажет как раскрыть эту функции. можно ли в ней углы как то плюсовать.
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 )
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2
29
3 месяца назад
Отредактирован nazarpunk
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)
0
2
3 месяца назад
0
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)
Ну не преувеличивай)
Я просто спросил почему ты считаешь такой вариант более комфортным.
0
29
3 месяца назад
0
Я просто спросил почему ты считаешь такой вариант более комфортным.
Потому что в своём варианте ты провтыкал второй вызов CreateUnit.
0
2
3 месяца назад
0
Потому что в своём варианте ты провтыкал второй вызов CreateUnit.
Мы же говорили про обьем кода, а не работоспособность функции.
Больше всего пространства, как по мне, занимают мат. формулы, по типу скверрута, с локалкой для каждого значения.

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