C ++: вызывать функцию каждые x циклов / секунд - PullRequest
0 голосов
/ 13 марта 2020

Я новичок в 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; однако я хотел бы получить совет о том, как улучшить это, чтобы сделать его более элегантным / эффективным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...