Skocz do zawartości

Zmiana sprite (Skok, chodzenie, opadanie)


Moho

Rekomendowane odpowiedzi

Hi.

 

Jak w temacie, pragnę zrobić by podczas skoku sprite obiektu zmieniał się odpowiednio do aktualnego położenia sprite, tzn:

 

Player jest odwrócony w lewo (idzie w lewo), wykonuję skok sprite zmienia się na skok w lewo, a podczas opadania na sprite opadania w lewo. Analogicznie oczywiście ma to działać w prawą stronę.

 

Pozwoliłem sobie skorzystać z kodu jednego z użytkowników:

 

GML
if (!keyboard_check(vk_left) and !keyboard_check(vk_right))or(sprite_index=skocz

or sprite_index=skocz_lewo or sprite_index=skocz_prawo ) and !place_free(x,y+1)

sprite_index=stoj

 

if place_free(x,y+1)

vspeed+=1

 

if (keyboard_check_pressed(vk_left))or(keyboard_check(vk_left)and (sprite_index=stoj or sprite_index=prawo))

and !place_free(x,y+1){

sprite_index=lewo

}else

if (keyboard_check_pressed(vk_right))or(keyboard_check(vk_right)and (sprite_index=stoj or sprite_index=lewo))

and !place_free(x,y+1){

sprite_index=prawo

}

if keyboard_check(vk_up) and !place_free(x,y+1){

vspeed-=10

if sprite_index=prawo{

hspeed=10

sprite_index=skocz_prawo

}else

if sprite_index=lewo{

hspeed=-10

sprite_index=skocz_lewo

}else

sprite_index=skocz

}

if keyboard_check(vk_left) and !keyboard_check(vk_right) and !place_free(x,y+1) and place_free(x-4,y)

x-=4

if keyboard_check(vk_right) and !keyboard_check(vk_left) and !place_free(x,y+1) and place_free(x+4,y)

x+=4

 

if keyboard_check(vk_left) and keyboard_check(vk_right) and !place_free(x,y+1)

sprite_index=stoj

 

Wszystko ładnie (nie licząc tego że nie ma opadania w dół, ale to już sobie dopiszę), niestety działa to tylko na płaskiej powierzchni, gdy próbuję wskoczyć np na bloczek player odlatuje w siną dal. Ktoś coś zaproponuje? Może jakiś inny przykład?

 

Z góry dzięki.

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