W jaki sposób działają operacje czasowe w grach?

0

Piszę sobie gre, i mam problem - chciałbym napisać przeładowanie broni. Czyli po kliknięciu klawisza coś tam się dzieje przez jakiś czas, jakaś mini animacja i to jest jasne, ale w jaki sposób zrobić to tak, żeby przeładowanie trwało np. równo 3 sekundy? (Chciałbym jeszcze dodać zmianę animacji np. w połowie przeładowania). Bo w zasadzie mógłbym to napisać na tickach gry, ale to chyba mija się z celem. Język w którym programuję to Java.

1

Zwyczajnie - masz metodę powiedzmy update której jako parametr podajesz deltę czasu i wywołujesz w dowolnym tempie przed odrysowaniem. Dla każdej animacji podczas update'u zwiększasz coś w rodzaju stateTime i rysujesz klatkę odpowiadającą danej sekundzie
Animacja przeładowania broni zazwyczaj ma się nijak do stanu gry - tj. animacja jest pokazywana jako element dekoracyjny ale to że gracz nie jest w stanie strzelać to oddzielna sprawa. Można po prostu zapamiętać czas w którym zaczęto przeładowanie broni i pozwalać na strzelanie jeśli aktualny czas jest większy niż czas przeładowania + 3 sekundy
Animacją zajmuje się zazwyczaj klient gry, a logiką serwer (w grze sieciowej)

1 użytkowników online, w tym zalogowanych: 0, gości: 1