[SFML 2.1] Funkcja licząca odstępy czasu
Ostatnio zmodyfikowano 2014-12-02 20:14
lectre Temat założony przez niniejszego użytkownika |
[SFML 2.1] Funkcja licząca odstępy czasu » 2014-12-02 19:59:01 Witam. Stworzyłem funkcję, która sprawdza, czy minął dany czas, jeśli tak, to zwraca wartość true. Niestety nie można wywołać jej kilka razy w programie, na czym mi zależy. Działa wtedy jedynie jedno wywołanie, te w które podeślemy jako argument najkrótszy czas. Wiem, dlaczego. Natomiast nie mam dobrego pomysłu, jak ją zmodyfikować. Oto kod: bool czas_minal( float czas ) { static sf::Clock zegar; static sf::Time cz; cz = zegar.getElapsedTime(); if( cz.asMilliseconds() >= czas ) { zegar.restart(); return 1; } return 0; }
|
|
amilkwes |
» 2014-12-02 20:02:58 Zrezygnuj ze zmiennych statycznych. Masz dwie sensowne możliwości przerobienia tego. Zostając przy funkcji: bool czas_minal( float czas, sf::Clock & zegar ) { sf::Time cz = zegar.getElapsedTime(); if( cz.asMilliseconds() >= czas ) { zegar.restart(); return 1; } return 0; }
Albo wykonać z tego klasę: class MyTimer { sf::Clock zegar; public: bool czyMinalCzas( float czas ); };
|
|
lectre Temat założony przez niniejszego użytkownika |
» 2014-12-02 20:14:32 Dziękuję bardzo. |
|
« 1 » |