Прочитал, что после смерти юнитов нужно удалять(особенно в ТД картах), что бы они не занимали место в памяти, и в то же время в другой статье прочитал, что после разложения костей юниты сами выгружаются из памяти. Так как все же происходит на самом деле?
Так же прочитал, что функция "wait" то же вызывает утечки. Вопрос: если все же нужно удалять юниты после смерти, то что эффективней - удалять их используя Wait 1.5 сек или не удалять их вовсе. Так как хочется, что бы отображалась анимация их смерти...
Так же прочитал на счет точек, что если, например, делаешь триггер: событие "боевая единица входит в область "Start", действие "отдать приказ боевой единице следовать в центр области "Final", то каждый раз в центре области "Final" создается точка, которая не выгружается из памяти. И если через область "Start" протопало 1000 юнитов, то будет создано 1000 точек. Вопрос - если создать переменную "Point" типа "точка" и изначально задать ей положение центр области "Final", а потом обращаться уже к этой переменной "Point" в триггере событие "боевая единица входит в область "Start", действие "отдать приказ боевой единице следовать в "Point" , то новые точки создаваться не будут?
Заранее спасибо.

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

после разложения костей юниты сами выгружаются из памяти
функция "wait" то же вызывает утечки
она не вызывает утечки, она сама по себе кривая и не подходит под большинство задач
если создать переменную "Point" типа "точка" и изначально задать ей положение центр области "Final", а потом обращаться уже к этой переменной "Point" в триггере событие "боевая единица входит в область "Start", действие "отдать приказ боевой единице следовать в "Point" , то новые точки создаваться не будут?
да
только в гуи еще и создание юнитов утекает тоже насколько я помню, надо тоже заранее точку делать
впринципе можно было бы обойтись одной точкой на все действия, но вам видимо пока рано
0
26
6 лет назад
0
после разложения костей юниты сами выгружаются из памяти
функция "wait" то же вызывает утечки
она не вызывает утечки, она сама по себе кривая и не подходит под большинство задач
если создать переменную "Point" типа "точка" и изначально задать ей положение центр области "Final", а потом обращаться уже к этой переменной "Point" в триггере событие "боевая единица входит в область "Start", действие "отдать приказ боевой единице следовать в "Point" , то новые точки создаваться не будут?
да
только в гуи еще и создание юнитов утекает тоже насколько я помню, надо тоже заранее точку делать
впринципе можно было бы обойтись одной точкой на все действия, но вам видимо пока рано
Принятый ответ
2
32
6 лет назад
2
WindMaster, тут одно большое но насчет смрети юнитов, по дефолту они разлагаются очень долго, что совсем не наруку, т.к оживлять или жрать трупы в тд картах ненужно, в отличии от мили карт или кампаний, то нужно ставить разложение минимальным или вовсе ставить таймер жизни с баффов вызванного волка чтобы на месте юнита возникал спеэффект и усе, либо править константы и прочее чтобы не засирать память трупами + они визуально начинают портить картину...
Ну а так, я даже хз что посоветовать, замок скиби сложновато для совсем начинающих, что в Blizzard TD уже и не помню, но можите попробовать разобраться.
Нужно либо создавать массив точек для каждой области, чтобы не создавать их по 100500 раз и использовать каждый раз, либо переходить на jass и юзать полярные координаты.
Вейты - зло, запомните они нужны для роликов и синхронизации данных в гейм кеше, ни в коем случаи нельзя их использовать в спеллах или удалении юнитов как вы предложили, они для этого не предназначены и не задавайтесь даже вопросом - почему? Нет и все, сразу отметайте все их применение где то за пределами роликов и синхронизации данных.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.