Skocz do zawartości

Wrog ma chodzic tam i z powrotem..


Rekomendowane odpowiedzi

przy kolizji o_enemy1 z o_zawroc:

GML
if direction=0 then direction=180

if direction=180 then direction=0

 

wsadzam do rooma dwa obiekty o_zawroc, a miedzy nimi o_enemy1 i on idzie w prawo, dotyka o_zawroc i sie zatrzymuje zamiast zawrocic ;/

 

edit: zeby bylo latwiej podam caly kod:

 

o_enemy1 Create:

GML
hp=2

speed=4

image_speed=0.5

o_enemy1 Step:

GML
if hp<=0

{

instance_destroy()

}

if direction=180 then sprite_index=s_enemy1l

if direction=0 then sprite_index=s_enemy1r

o_enemy1 Kolizja z o_zawroc:

GML
if direction=0 then direction=180

if direction=180 then direction=0

 

no i nie dziala ;/

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

To teraz patrz coś napisał:

 

załóżmy, że obiekt ma direction=0; pierwsza linijka kodu to zmienia:

 

if direction=0 then direction=180;

 

teraz obiekt ma direction=180;

lecimy po dalszej części kodu, czyli po drugiej linijce

 

if direction=180 then direction=0;

 

warunek się zgadza, bo przed chwilą ustawiliśmy 180 wiec znów ustawiamy direction na 0.

 

Na sam koniec po wykonaniu obu instrukcji mamy to samo co na początku.

 

Więc po pierwsze prawidłowo będzie:

GML
if direction=0 then direction=180

else if direction=180 then direction=0;

 

Po drugie jeżeli kolizja zachodzi dłużej niż 1 step, to i tak guzik da, więc ja bym proponował przy kolizji:

 

GML
if direction=0 then direction=180 else direction=0;

x=xprevious;

y=yprevious;

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