Skocz do zawartości

Alarm - Wyjaśnienie


Issen

Rekomendowane odpowiedzi

  • Filar Społeczności

Alarm to wywołanie kodu z opóźnieniem. To co wstawisz do eventa STEP - wykonywane jest co każdą klatkę gry. Alarm zostanie wywołany tylko raz. Wyjaśnienie:

 

EVENT create:

alarm[0] = 10;

 

EVENT alarm 0:

x += 5;

 

Dzięki powyższemu zabiegowi obiekt dokładnie za 10 klatek przesunie się w poziomie o 5 pikseli w prawo. Krótko alarm[0] = X - to wykonanie kodu alarm 0 tylko raz, dokładnie za X klatek fps. Możemy także zapętlić alarm:

 

x += 5;

alarm[0] = 10;

 

Teraz obiekt co 10 klatek będzie przeskakiwał o 5 pikseli w prawo. Gdy zapiszesz alarm[0] = room_speed to kod będzie wywoływany co dokładnie jedną sekundę, ponieważ room_speed to ilość klatek na sekundę, którą ustawiasz w room edytorze.

 

Do czego w praktyce może się przydać alarm? Do wielu rzeczy, np. do ograniczania strzału. Gdy zrobisz strzelanie wciśniętym guzikiem CTRL, to kulki będą tworzone co 1 fps i utworzy się taka linia kul. Chcemy by każda kolejna kula wylatywała co pół sekundy. W tym celu w evencie gdzie masz komendę strzelania, dajesz:

 

if ( blokada == false ) //sprawdzamy czy mozna strzelac

{

blokada = true; // nanosimy blokade strzalu

alarm[0] = room_speed / 2; //uruchamiamy alarm0, ktory wykona sie za 0,5 sekundy

 

// tutaj akcja tworzenia kuli

 

}

 

event alarm 0:

blokada = false; //zdejmujemy blokade strzalu

 

event create:

blokada = false; // inicjalizujemy zmienna

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