Zmiana sposobu odświeżania obrazu #9
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Obecnie pętla while w main.py jest wywoływana tak często, jak to tylko możliwe. Sprawia to, że obraz jest odświeżany z różną częstotliwością na różnym sprzęcie, przy czym są to wartości rzędu przynajmniej kilkuset razy na sekundę - zdecydowanie za dużo.
Do tego, wywoływana funkcja draw() od nowa rysuje wszystkie kafelki, miny i sapera.
TODO:
Dodać stałą wartość FPS, która zdefiniuje częstotliowość odświeżania obrazu (wyjaśnione tutaj: https://youtu.be/jO6qQDNa2UY?t=944 - timestamp ustawiony na odpowiedni moment)
Nowa metoda w minefield.py, która będzie wywoływana za każdym razem w głównej pętli. Będzie odświeżać jedynie sapera, jako że kafelki i miny przez większość czasu pozostają takie same. Odświeżanie wyświetlania min i kafelek w przyszłości powinno być implementowane w osobnych metodach, zmieniających ich stan (np. rozbrajanie)Zajmę się tym jakby co, bo to w sumie był mój błąd ;) (sorki)
Okazuje się, że pygame z założenia tak po prostu działa - z każdą klatką rysuje od nowa całą mapę i nie da się przesuwać tylko jednego obiektu. Wobec tego dodałem jedynie ograniczenie FPS'ów i zamykam.