Добавлен
	function ...
		local unit u
		...
		set u = CreateUnit()
		...
		if ... then
			set u = null  <-нужно ли это делать перед переобъявлением переменной?
			set u = CreateUnit()
		endif
		
		set u = null
Также с глобальными, нужно ли их обнулять перед присваиванием нового значения?И вообще, если у меня цикл с глобальными переменными, нужно ли их обнулять каждый тик этого цикла?

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

Глобалки обнулять не нужно, они всё равно существуют до конца игры.
Локалки обнуляются в конце функции, в которой они были созданы, когда они больше не нужны (перед return'ом, естественно).

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
14
7 лет назад
0
Глобалки обнулять не нужно, они всё равно существуют до конца игры.
Локалки обнуляются в конце функции, в которой они были созданы, когда они больше не нужны (перед return'ом, естественно).
Что лучше, использовать глобальную массивную переменную с индексами от 0 до 30, или 3 глобальных массивных переменных от 0 до 9?(Числа это индексы)
0
26
7 лет назад
0
Что лучше, использовать глобальную массивную переменную с индексами от 0 до 30, или 3 глобальных массивных переменных от 0 до 9?(Числа это индексы)
Это ещё зачем?
Ответ - индусская натура программиста подскажет, какой вариант лучше.
0
14
7 лет назад
0
Это ещё зачем?
Ну чтобы уменьшать общее кол-во глобальных переменных
Uber:
Что лучше, использовать глобальную массивную переменную с индексами от 0 до 30, или 3 глобальных массивных переменных от 0 до 9?(Числа это индексы)
Это ещё зачем?
Ответ - индусская натура программиста подскажет, какой вариант лучше.
Т.е. когда я раньше двигал по точкам, или создавал юниты в точке, нууу, создал я по кругу 8 юнитов циклом, мне не нужно было обнулять переменную точки?Можно было просто ремувать точку?
0
10
7 лет назад
0
LainMikoroso:
Это ещё зачем?
Ну чтобы уменьшать общее кол-во глобальных переменных
сам же ответил на свой вопрос
0
14
7 лет назад
0
ImbaStyle:
LainMikoroso:
Это ещё зачем?
Ну чтобы уменьшать общее кол-во глобальных переменных
сам же ответил на свой вопрос
Так это выгодно так делать?Ибо мне в индексе каждый раз придется делать арифм.действия.
2
26
7 лет назад
2
Т.е. когда я раньше двигал по точкам, или создавал юниты в точке, нууу, создал я по кругу 8 юнитов циклом, мне не нужно было обнулять переменную точки?Можно было просто ремувать точку?
Можно было создавать 8 юнитов циклом, используя одну и ту же точку, просто перемещая её в новую позицию, а после цикла - удалить её и обнулить переменную.
Так это выгодно так делать?Ибо мне в индексе каждый раз придется делать арифм.действия.
Как хотите, так и пишите. Если оно при этом ещё и работает - вот и славно. Если вам очень хочется оптимизации - можете выучить ассемблер, к примеру.
0
14
7 лет назад
0
Можно было создавать 8 юнитов циклом, используя одну и ту же точку, просто перемещая её в новую позицию, а после цикла - удалить её и обнулить переменную.
Так точка глобалка, ее все равно нужно было обнулять?
Uber:
можете выучить ассемблер
Зочим?Варик же на жассе
Глобалки никогда не нужно обнулять?
0
26
7 лет назад
0
Так точка глобалка, ее все равно нужно было обнулять?
Ужс.
Точка - это точка, глобалка - это глобалка. Вы точно отличаете переменные от их содержимого?
Глобалки обнулять не нужно. Если вам больше не нужна точка (юнит, эффект, ...) которые записаны в эту глобальную, их можно удалить, переменная останется существовать дальше. И в неё можно будет записывать новые данные.
LainMikoroso:
Зочим?Варик же на жассе
А почему бы и нет? Разнообразие.
0
17
7 лет назад
0
Игре не помешал бы нормальный сборщик мусора.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.