Цитата:
Сообщение от goodguy
(Сообщение 1029302)
Поэтому неактивным телам лучше задавать тип b2_staticBody, для таких тел физика не спросчитывается.
Что тут понимается под деактивацией? SetActive(false)? или какой-то свой метод?
|
Свои методы. Стандартные для паттерна "объектный пул". Задача активации - проинициализировать объект, добавить в списки отображения, подписать на таймер, и тп.. Задача Деактивации- всё наоборот. В бокс2д, насколько я вижу из дебаггера, даже неактивное тело лежит в одном списке с всеми остальными. (проверить можно GetNext()-ом). Не знаю нет ли отдельного, внутреннего списка активных для обсчёта внутренних процессов, но допиливать физ движок не очень входит в мои планы:o неблагодарное это дело, времени кушать много будет. Вот поэтому, лишние 100-200 неактивных тел, держать не хочется... А создавать каждый раз, малость противоречит идее пула.
Кстати, вы не правы. Для статических тел физика считается. Но только с динамическими. Между собой статические не обсчитываются. А вот флаг active=false - судя по рефференсу, и по опыту, отключает рассчёты.
Но это тоже полумера. Вот думал,может кто знает как корректно работать с телами. Возможно, их можно создавать минуя CreateBody, И просто подцеплять в список тел. Может им ещё что- то нужно. Кто-то знает?
|