Сценарий
Я работаю над классом HUD, чтобы помочь мне в разработке проекта OpenGL. Я хочу иметь возможность добавлять новые элементы на экран динамически (позиционирование произойдет автоматически) с использованием метода add_element(char*, float)
. Вот этот код:
class HUD {
public:
HUD();
~HUD();
private:
int elements,
spacing;
public:
void add_element(char*, float);
};
HUD::HUD() : elements(0), spacing(10) {}
HUD::~HUD() {}
void HUD::add_element(char* string, float value) {
++elements;
// .. render to screen .. //
}
Основная идея такова: он будет располагать их вертикально для меня, пока я продолжаю добавлять элементы.
Проблема
Класс создается внутри основной функции, а элементы добавляются и выводятся на экран внутри и в конце моего игрового цикла. Это означает, что в каждом кадре счетчик element
увеличивается, когда он должен увеличиваться только при первом добавлении уникального элемента. Я думал о добавлении уникальных идентификаторов в качестве аргумента, таких как нумерация их вручную каждый раз, когда я вызываю метод, но это, кажется, противоречит цели, к которой я иду
Я просто ищу некоторые идеи, которые могут решить этот тип приращения внутри цикла. У меня есть несколько сценариев, в которых мне нужно это сделать, и HUD - первый, с которым я столкнулся.