2016-08-27 4 views
1

Я начинаю создавать свой мир с Box2d в Libgdx, и мне нужно создавать фигуры для разных игровых объектов. Учебник, который я прочитал, сказал, что я должен распоряжаться своими фигурами, когда я закончил использовать их.Как правильно распоряжаться формами box2d?

Итак, я начал держать ссылки так:

private CircleShape circle; 
private PolygonShape ground; 
private PolygonShape wall; 
private PolygonShape box; 

//... 

//(getters) 

И утилизацией мои предметы так:

@Override 
public void dispose() 
{ 
    circle.dispose(); 
    ground.dispose(); 
    wall.dispose(); 
    box.dispose(); 
    world.dispose(); 
} 

я решил изменить это список для расширения, но проблема в другом месте в моем коде я добавляю тела на клик, поэтому мне нужно разрешить доступ к некоторым формам из внешних классов. Я мог бы создать дополнительные фигуры и позволить доступ к моему списку, но мне не нравится идея создания гигантского списка одноразовых объектов.

Решение состоит в создании объекта ShapeManager, который имеет внутренний список фигур. Я мог бы уничтожить этот объект, и он будет обертывать конструкторы фигур, позволяя мне вернуть уже существующую форму, если она соответствует потребностям.

Однако это решение кажется слишком тяжелым. Почему Box2d (или LibGDX) создал объекты фигур, которые нужно удалить? Есть ли класс, как я уже упоминал в LibGDX? Есть ли лучшее решение ?

ответ

1

Вы можете распоряжаться после определения вашего тела.

Смежные вопросы