Obsługiwanie czasu w SFML

SFML ma wbudowane klasy pozwalające zarządzać czasem w grze, do tego służą w nim dwie klasy: sf::Time oraz sf::Clock. Przy piasniu gry mogą nam się one przydać np. do sprawdzenia ile czasu minęło od uruchomienia gry, czy też do przechowania i szybkiej konwersji czasu np z sekund na milisekundy.

Konwersja czasu


Do konwersji czasu używamy klasy Time, która może dokonać konwersji pomiędzy sekundami, milisekundami i mikrosekundami.

W powyższym przykładzie widzimy jak można „wydobyć” wartości z klasy Time, domyślną wartością Time jest Time::Zero, jeżeli chcemy wyzerować nasz czas wystarczy, że napiszemy:

Warto zaznaczyć, że zwracanym typem metod powyżej jest odpowiednio:

 

Operacje na klasie Time


Dzięki temu, że zostały przeładowane operatory dla klasy Time możemy wykonywać operacje takie jak:

 

Mierzenie czasu


SFML udostępnia nam jeszcze jedną klasę obsługującą czas, czyli sf::Clock. Pozwala on nam pobrać wartość czasu jaka minęła od stworzenia go lub od ostatniego restartu. Dzięki temu możemy np. aktualizować pozycje obiektów w naszej grze jeżeli chcemy aby odbywało się to w sposób cykliczny.

 

Chronometr, czyli lepszy zegar


Może się zdarzyć, że standardowa klasa Clock to dla ciebie za mało, możliwe że będziesz potrzebował pauzowania czasu, do tego idealnie nadaje się klasa Chronometer, którą musisz pobrać oddzielnie. Po więcej informacji zapraszam >>tutaj<<