Как вы меняете тела в зависимости от направления движения??
Как я понимаю есть такие варианты:
1) Берем инфу с тела (скорости координаты и тп), удаляем тело, подгружаем альтернативное тело задаем ему инфу.. - на слабых компах игра замирает на время смены ориентации обьекта
2) Создаем оба тела одновременно но альтернативное будет неактивным, затем их меняем местами... Они все время вместе друг за другом.
3) Перекидывать из мира в буферный мир и обратно.
Как вы решили эту проблему? Или бокс2д умеет делать FLip всех вершин?
еще можно пересоздать фикстуры (по шейпам) и джойны (пересчитав) но будет ли это быстрее создания тел, по сути это одно и тоже а может даже дольше.
NSX
Не понял про буфферный мир.
На компе вроде как вариант (1) должен прокатывать (хотя все же зависит от того сколько всего нужно создать).
Если меняешь персонажа, то как правило персонаж представляет из себя выпуклую фигуру, так что там даже не нужно создавать какие-то сложные фикстуры.
Если хочешь менять фикстуры машин (окружения мира), то наверно лучше создать копию и активировать ее в нужное время.
Во всяком случае на телефонах я бы начал с создании копий так как выделение/удаление памяти у меня вызывало тормоза.
Alerr
Буферный мир - закидывать в него правую сторону, вытаскивать левую, и наоборот.
при смене направления даже 4 машин со скриншота уже лагает (это если из файла или кода пересоздавать все тело и удалять старое).
мне кажется реально оптимальный вариант 2 тела в одних координатах, второе полностью неактивно, и менять их местами (активность)
NSX
Извиняюсь за долгий ответ. На компе это не должно быть существенно. А на телефоне да, лучше менять активность.
Тема в архиве.