Nie oglądałem tego filmu Pana Mirka, ale podejrzewam, że wykorzystanie timera ma zapewnić uaktualnianie gry z taką samą częstotliwością na każdym komputerze. Mianowicie jeśli napisałeś głowną pętlę gry w stylu:
void UpdateGame(){
while(window.isOpen()){
ball.move(x); //x - przebyty dystans
}
}
to warto zauważyć, że na szybszych komputerach będzie odświeżana cześciej niż na woniejszych maszynach. Stąd warto uzależnić aktualizowanie sceny gry od czasu, który upłynął. Na przykład wprowadzając zmienną, która przedstawia szybkość wyrażoną w m/s pomnożoną przez upływ czasu w sekundach:
void UpdateGame(){
while(window.isOpen()){
float distance = v * deltaTime; //v- szybkość kulki, deltaTime - czas jaki upłynął od ostatniego wywołania głównej pętli gry (while)
ball.move(distance);
}
}
distance = v * deltaTime to zwykły wzór na przebytą drogę ;) [m/s * s = m] Taki kod powinien zapewnić poruszanie się obiektu na ekranie z taką samą szybkością niezależnie od sprzetu.