Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Ja bym to zrobił tak:

 

Create:

GML
a=false;

b=false;//jednostka czasu</span>

 

Step

GML
if(a==room_speed)//albo inny warunek (taki jaki Ci jest potrzebny)

{

a=false;

b+=1;

if(b==120)

{

//akcja

}

}

a+=1;

Opublikowano

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))
Opublikowano
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

Opublikowano

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.

Opublikowano

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ł.

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ę...