XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
ArhiVamp

offline
Опыт: 897
Активность:
Помогите в коде
Как после удаления дамика уменьшить глобалку povorot, чтобы не забивать память?
PS: может кто скажет как было проще реализовать( только на Jass!)
Прикрепленные файлы
Тип файла: w3x Щит стихий.w3x (13.1 Кбайт, 11 просмотров )
Старый 02.01.2011, 20:09
Иноземец
сJass = true
offline
Опыт: 4,379
Активность:
ArhiVamp, Не до конца понял чего ты хочешь добиться о_О. Можно поподробней?
Старый 02.01.2011, 20:14
ArhiVamp

offline
Опыт: 897
Активность:
после того как дамик пропадает в глобалке povorot остаётся запись об его повороте, я хочу её убрать, что бы не забивало память...
Старый 02.01.2011, 20:20
Иноземец
сJass = true
offline
Опыт: 4,379
Активность:
ArhiVamp, А в чём проблема? Сразу после удаления - обнуляй нужную ячейку массива.
Старый 02.01.2011, 20:25
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
на глобалку выделяется конкретная память при загрузке карты, и обнуляй ты её 1000 раз или столько же перезаписывай - ничего не изменится в потреблении памяти
Старый 02.01.2011, 20:25
ArhiVamp

offline
Опыт: 897
Активность:
Тоесть, можно забить на это?
Старый 02.01.2011, 20:31
Иноземец
сJass = true
offline
Опыт: 4,379
Активность:
ArhiVamp, можешь забить, но в твоём случае - лучше обнуляй, чтобы багов не возникало.
Старый 02.01.2011, 20:37
ArhiVamp

offline
Опыт: 897
Активность:
ArhiVamp:
но в твоём случае - лучше обнуляй, чтобы багов не возникало
как?
Старый 02.01.2011, 20:44
Иноземец
сJass = true
offline
Опыт: 4,379
Активность:
function move takes integer i returns nothing
local unit u = udg_u[i]
local unit u2 = udg_u2[i]
if ( udg_povorot[i] == 2000 ) then
call RemoveUnit( u )
set udg_povorot[i] = 0 // мб вот так ?
 else
call SetUnitPositionLoc( u, PolarProjectionBJ(GetUnitLoc(u2), 256, udg_povorot[i]) )
set udg_povorot[i] = udg_povorot[i]+10
endif
endfunction
Старый 02.01.2011, 20:49
ArhiVamp

offline
Опыт: 897
Активность:
Там просто будит храниться значение 0...
Старый 02.01.2011, 21:01
Clamp
Lost in space
offline
Опыт: 71,258
Активность:
ArhiVamp, разумеется, но багов не будет точно =)
Старый 02.01.2011, 21:04
Hellfim
Новичок
offline
Опыт: 79,880
Активность:
function move takes integer i returns nothing
local unit u = udg_u[i]
local unit u2 = udg_u2[i]
if ( udg_povorot[i] == 2000 ) then
call RemoveUnit( u )
set udg_povorot[i] = 0 // мб вот так ?
 else
call SetUnitPositionLoc( u, PolarProjectionBJ(GetUnitLoc(u2), 256, udg_povorot[i]) )
set udg_povorot[i] = udg_povorot[i]+10
endif
**u=null**
**u2=null**
//так-то
endfunction
ArhiVamp, разумеется, но багов не будет точно =)
А если он поделит на 0? =)
На самом деле, делать с этим ничего не надо. Глобальная переменная создается при загрузке карты и не удаляется до конца.
Старый 02.01.2011, 21:07
Clamp
Lost in space
offline
Опыт: 71,258
Активность:
Hellfim:
А если он поделит на 0? =)
об этом я не подумал! =( баги таки будут...
Старый 02.01.2011, 21:08
ArhiVamp

offline
Опыт: 897
Активность:
Как я понял все нормально и проблем нет?
Старый 02.01.2011, 21:16
Clamp
Lost in space
offline
Опыт: 71,258
Активность:
ArhiVamp, ммм...
Hellfim:
u=null
u2=null
ну ты понял, да? ты же умный парень
Старый 02.01.2011, 21:18
ArhiVamp

offline
Опыт: 897
Активность:
Всем спасибо, прошу закрыть тему.
Старый 02.01.2011, 21:21
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 01:54.