Skocz do zawartości

Aby akcja była wykonana tylko raz


Rekomendowane odpowiedzi

Witajcie znowu :) Mam jeszcze jedno dziś pytanie apropos platformówki: zrobiłem wrogów (no, pomogliście mi :) no i teraz mam problem taki, że jak wróg podchodzi do bohatera, to ma go zaatakować i wziąć mu jednostkę życia, powiedzmy 5hp no i taki wróg podchodzi i odbiera bohaterowi kilkukrotność tych 5hp. Jak zrobić kod, aby po podejściu wroga odliczany był czas, aż uderzy i dopiero odbierało życie? Myślę, że jest jakieś łatwe rozwiązanie, ale nie mogę wpaść :P Pomóżcie

 

ps. Już próbowałem repeat(1), no i alarmu. W alarmie wszystko działa, z tym, że choć wróg się oddali, to dalej odbiera po te 5hp co dany odstęp czasu, a jak dopisuję do kolizji, że wróg musi być powiedzmy 40px od bohatera, to w ogóle nie odejmuje ;/

 

Z góry dziękuję ;)

Odnośnik do komentarza
Udostępnij na innych stronach

No tak :) Bardzo logiczne ;)

 

step/collision

 

GML
if(global.tylkoraz = 0)

{

  global.zycie -= 5

  global.tylkoraz = 1

  alarm[10] = 2*room_speed

}

 

 

 

alarm

 

GML
alarm[10] = 2*room_speed

 

 

 

obj. z globalami - create

 

GML
global.tylkoraz = 0

 

 

 

Wiedziałem, że ładnie, tylko nie wiedziałem, jak :) Dzięki Gnysek

 

e: nicolas, już jest git :) co do kodu, to już i tak był skasowany, bo była wersja z repeat :)

Odnośnik do komentarza
Udostępnij na innych stronach

W alarmie nie powinno byc przypadkiem global.tylkoraz = 0? I w koncu step czy collision?

 

EDIT:

Jak w collision to zakladajac, ze do kolizji dochodzi i global.tylkoraz == 0 to nie ma sily, zeby nie odjelo zyc.

 

EDIT2:

Jup, umknał mi post Gnysia.

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