Skocz do zawartości

Naliczanie czasu


Rekomendowane odpowiedzi

CREATE:
GML
alarm[0]=room_speed

odliczanie_czasu=0

ALARM 0:

GML
odliczanie_czasu+=1

alarm[0]=room_speed

DRAW:

GML
draw_text(x,y,"Pozostało:"+string(odliczanie_czasu))

Jak już, to:

Create:

GML
alarm[0]=room_speed

odliczanie_czasu = 120

Alarm 0:

GML
odliczanie_czasu -= 1

alarm[0]=room_speed

Odnośnik do komentarza
Udostępnij na innych stronach

Ja bym to radził zrobić dzięki zmiennej current_time. Dzięki temu, gdy komputer spowolni pracę i FPS nie będzie równy room_speed i tak odliczony czas będzie ten sam.

 

Sposób:

GML (Create)
start = current_time;

 

GML (Step)
if( floor( ( current_time - start ) / 1000 ) ) == 120 )

{

// akcja

}

 

Current_time zwraca nam ilość milisekund, które upłynęły od czasu włączenia komputera. Obliczając różnicę current_time teraz i przy uruchomieniu aplikacji możemy się dowiedzieć jak długo działa nasza aplikacja ( czyli ile czasu już odliczyła ) w milisekundach. Dlatego dzielimy to przez 1000 i zaokrąglamy, aby uzyskać naturalną liczbę sekund.

Odnośnik do komentarza
Udostępnij na innych stronach

Chodzi o to, że u mnie działa to w 2 minutach w grze, a Nobody robi to w 2 minutach rzeczywistych.

Jeśli zetnie kompa, to u Nobody'ego gracz będzie miał mniej czasu niż u mnie, ponieważ czas w grze się zatrzyma, a u Nobody'ego będzie dalej leciał.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...