Skocz do zawartości

xxx


Gość

Rekomendowane odpowiedzi

Po prostu ustawiasz minimalną i maksymalną wartość index'a w spricie. Maksymalna jest zawsze 3 a minimalna zmienia się z kierunkiem. Robisz tak:

 

create

GML
min_klatka=0;

max_klatka=3;

klatka_dodawanie=0;

 

step

GML
image_index=min_klatka+klatka_dodawanie;

 

if (idzie poziomo)

{

min_klatka=4;

klatka_dodawanie+=1;

};

else

if (idzie pionowo)

{

min_klatka=0;

klatka_dodawanie+=1;

};

else

{

klatka_dodawanie=0

image_index=0

};

 

if klatka_dodawanie>=max_klatka

{

klatka_dodawanie-=max_klatka

};

 

Przetestuj to ;).

Odnośnik do komentarza
Udostępnij na innych stronach

Z tego, co rozumiem, gra jest w ujęciu top-down. Klatki od 0 do 3 idą w górę i w dół, pozostałe w lewo i prawo.

Create:

GML
ind = 0

Step:

GML
ind += 1

if(ind > 3) ind = 0

lub, żeby zajęło mniej miejsca:

GML
ind = (ind+1) mod 4

Draw:

GML
draw_sprite(sprit,ind+sign(abs(x-xprevious))*4,x,y)

Nie uwzględniłem przypadków, gdy postać stoi i gdy idzie na ukos. To już zrobisz sam ; )

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