4programmers.net

Witaj!

several dodał nowy post w wątku: Problem z gameloopem i renderowaniem animacji


No ja bym spróbował najpierw zrobić to z palca zamiast polegać na frameTime: f32 = rl.GetFrameTime() który z jakiegoś powodu zwraca float? Sprawdzałeś pod debuggerem czy wszystkie zmienne i stałe czasowe mają tą samą rozdzielczość? Nie wiem też co robi updatePlayerInput ale w tej pętli "nadganiającej" wykonujesz tylko symulację, wejście aplikujesz w głównej na początku lub na końcu.

Coś w ten deseń:

Kopiuj
 const int tickRate = 120; int ptime = clock(); // time since last frame int offset = 0;      // time since last physics tick  MyState state;  while (state.active) {  int delta = deltaTime(ptime, offset) + offset; ptime = clock();  for (int i = 0; i < delta / (1000 / tickRate); i++) { simulationTick(state); }  offset = delta % tickRate;  render(state);  auto input = getInput(); applyInput(input, state); } 


Zobacz post

Z poważaniem,
4programmers.net

Jeżeli masz problemy z kliknięciem na przycisk "Zobacz post", skopiuj i wklej poniższy link w przeglądarce:

http://4programmers.net/Notification?path=%252FForum%252FGamedev%252F377305-problem_z_gameloopem_i_renderowaniem_animacji%253Fp%253D2012111%2523id2012111