Я новичок в C ++ и пытаюсь сделать простую функцию обновления.
Я построил «часы», которые отслеживают время между кадрами, а также время с момента T0.
I также есть циклы, которые в каждом таком количестве «часовых» фреймов вызывают функцию обновления.
void Engine::start()
{
float count = 0;
Clock clock;
clock.startClock();
while (true)
{
clock.Time(.001F);
count += clock.deltaTime();
if (count >= 1000) {
update(clock.deltaTime());
count = 0;
}
}
}
Однако мне это не нравится.
Код часов:
class Clock
{
private:
public:
float startTime=0;
float nextTime=0;
float currentTime=0;
void startClock()
{
float startTime = 0;
float currentTime = startTime;
}
float deltaTime()
{
return nextTime - currentTime;
}
void Time(float incrementTime)
{
currentTime = 0;
nextTime = incrementTime;
}
};
работает как написано; У меня есть класс "counter", который выводит на консоль каждый раз, когда вызывается функция update; однако я хотел бы получить совет о том, как улучшить это, чтобы сделать его более элегантным / эффективным.