Skocz do zawartości

Stop po czasie


Marcin T.

Rekomendowane odpowiedzi

Witam

 

Mam mały problem z czasem. Wiem, że bardzo prosty, ale nie wiem jak dokładnie to zrobić. Chodzi mi o to, że jaki jest kod, aby zrobić tak, że na przykład jakiś obiekt zatrzymuje się na 3 sekundy, żeby na 3 sekundy był szybszy lub, żeby ma 3 sekundy był niezniszczalny.

Odnośnik do komentarza
Udostępnij na innych stronach

Włączenie zatrzymania na kilka sekund np:

 

Skrypt wywoływany w obiekcie który ma się zatrzymać

stop(sekundy):

GML
old_speed = speed;

speed = 0;

alarm[0] = room_speed * argument0;

 

alarm 0:

GML
speed = old_speed;

 

Aby obiekt był niezniszczalny ustaw jakąś zmienną na true i podczas kolizji, czy tam gdzie odejmujesz życie, sprawdzaj czy jest ustawiona.

Odnośnik do komentarza
Udostępnij na innych stronach

Zrobiłem tak jak mi powiedziałeś czyli:

 

Gdy obiekt hero zbierze jabłko to dokładnie taki kod się aktywuje:

 

GML
old_speed = speed;

speed = 0;

alarm[0] = room_speed * argument0;

 

No i nastawiłem że ma to działać na obiekt który ma się zatrzymać.

 

Potem w Alarm O obiektu który ma się zatrzymać jest taki dokładnie kod:

 

GML
speed = old_speed;

 

No i mi nie działa :( Nic się nie dzieje. Co robię źle?

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem co to ma spólnego, ale podam:

 

W "step" mam:

GML
if place_free(x,y+1)

{gravity = 0.5}

else

{gravity = 0}

 

W kolizji z blokiem:

 

GML
move_contact_solid(270,4)

vspeed = 0

Przy skręcie w prawo:

 

GML
if place_free(x+4,y)

{x+=4}

 

Przy skręcie w lewo:

 

GML
if place_free(x-4,y)

{x-=4}

 

Przy skakaniu:

 

GML
if ! place_free(x,y+1)

{vspeed = -10}

 

A do tego twojego kodu to wciąż mi nie działa :(

Odnośnik do komentarza
Udostępnij na innych stronach

Już rozumiem. Dobra, zapomnij tamto. Nowy kod:

 

w Create:

GML
ruch = true;

 

Wywołanie zatrzymania:

GML
ruch = false;

alarm[0] = room_speed * 3;

 

alarm 0:

GML
ruch = true;

 

Swój kod musisz zmienić tak:

 

Przy skręcie w prawo:

GML
if place_free(x+4,y)

{x+=4 * ruch}

 

Przy skręcie w lewo:

GML
if place_free(x-4,y)

{x-=4 * ruch}

 

Przy skakaniu:

GML
if ! place_free(x,y+1)

{vspeed = -10 * ruch}

Odnośnik do komentarza
Udostępnij na innych stronach

Ale mi chodzi, aby czaszka się zatrzymywała a nie hero, hero to obiekt którym steruje i on właśnie zbiera te jabłka!

 

Masz tu plik projektu, bo już nie wiem co robić, a tak będzie szybciej, po prostu mi go popraw, ok?

 

----->PLIK<----- Poczeka około 40 sekund i ściągnij. Plik jest zapisany w Game Maker 8.0.

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