Как правильно инициализировать способности и юнитов в массиве?
Например прелоадить все обьекты в карте
и после удалить их? не заметно для игроков
желательно без глобальных переменных

Лучший ответ:
AntiMage, айсфрог больше не фаворит, не?
Создай их на карте изначально, потом удали при старте удали, время загрузки карты увеличится, зато не будет просадок фпс при выборе нового героя и так далее. Способности прелоадят с помощью preload, постепенно, как только появился герой которому нужны эти способности, то потихонечку подгружаются эффекты скиллов, создаются даммики которым по очереди с некоторым интервалов вручают по 1 скиллу героя + так же все вспомогательные дамми способности.



Просмотров: 530

quq_CCCP #1 - 1 год назад 0

AntiMage, айсфрог больше не фаворит, не?
Создай их на карте изначально, потом удали при старте удали, время загрузки карты увеличится, зато не будет просадок фпс при выборе нового героя и так далее. Способности прелоадят с помощью preload, постепенно, как только появился герой которому нужны эти способности, то потихонечку подгружаются эффекты скиллов, создаются даммики которым по очереди с некоторым интервалов вручают по 1 скиллу героя + так же все вспомогательные дамми способности.
AntiMage #2 - 1 год назад 0
quq_CCCP, про способностей preload подробнее
LainMikoroso #3 - 1 год назад 0
А также эффекты желательно, тоже. Я о том, что прелоадить модель эффекта нужно каждый раз когда запускаешь триггер с этим спеллом, или все же в триггере инициализации карты один раз?
quq_CCCP #4 - 1 год назад 2
Близзарды сделали способ для ленивых,
call PreloadGenClear()
call PreloadGenStart()
call CreateUnit(Player(0), ваш герой, 0.00, 0.00, 0.00 )
call TriggerSleepAction( 5.00 )
call PreloadGenEnd( "save\\MyData.pld" )
Этот код запишит в файл mydata.pld все что загружает в память движёк при создании этого юнита, далее этот код можно запустить функцией Preloader( путь до *.pld файла ), таким образом мы можем сделать N скриптов погрузки для каждого героя, в тавернах продавать даммиков и при покупке даммиков вызвать этот скрипт, потом через пару секунд создать героя.
Способности можно подгружать таким же способом, только нужно заставить героя выиучить их и пременить, очень быстро (кодом, а не руками) и в файл попадет все что грузил движок.
AntiMage #5 - 1 год назад 0
quq_CCCP, я спросил про ability preload)
ledoed #6 - 1 год назад 0
а не легче будет в начале игры таймером создавать юнитов,дамаиков и тдд + ещё создать юнита которому дать все способности ("таймером естественно")а потом всё это дело дружно удалить
главное учитывать что после 'A00Z' нужно делать условие которое сделает так 'A010'
Clamp #7 - 1 год назад 0
а не легче будет в начале игры таймером создавать юнитов,дамаиков и тдд + ещё создать юнита которому дать все способности ("таймером естественно")а потом всё это дело дружно удалить
Не легче, загрузка карты должна быть достаточно быстрой, иначе второй раз игроки в неё играть уже не пойдут.
Обычно делается так, что предзагрузка данных героя выполняется только тогда, когда он появляется на карте. Для того, чтобы он не был подгружен при запуске карты, достаточно не вызывать в начале игры никаких функций, связанных с героем или его способностями.
DracoL1ch #8 - 1 год назад 0
если использовать виджетайзер, то это уже достаточная скорость
а уже после загрузки таймером на 0.05 прелоадить всех юнитов и абилки поочередно, и будет вам счастье