Matrix_ Opublikowano 8 Lipca 2015 Udostępnij Opublikowano 8 Lipca 2015 Witam, udostępniam wam łatwy, uniwersalne kody do sterowania bohaterem i jego animacjami. Jeżeli będziecie chcieli, to mogę dodać komentarze. Kod banalny i prosty, ale przynajmniej zawsze działa dobrze. :) Co robi mój kod: [Poruszanie:] -nie pozwala przejść przez obiekty, które mają zaznaczone [solid], -chodzenie: góra, dół, lewo, prawo, -sprawdza kierunek do myszki, umożliwia późniejsze np. strzelanie, [Animacje:] -nasz bohater patrzy się w lewo/prawo, w zależności od położenia myszki, -jeżeli nasz bohater idzie w kierunku myszki animacja odtwarza się do przodu; jeżeli do tyłu, animacja odtwarza się od tyłu, -zmienia animację między chodzeniem, a poruszaniem się, jeżeli wykryje ruch. Sterowanie bohaterem: GML ///scr_PlayerController move_speed=argument0 if(keyboard_check(ord("A"))){ if place_free(x-move_speed,y){ x-=move_speed }} else if(keyboard_check(ord("D"))){ if place_free(x+move_speed,y){ x+=move_speed }} if(keyboard_check(ord("W"))){ if place_free(x,y-move_speed){ y-=move_speed }} else if(keyboard_check(ord("S"))){ if place_free(x,y+move_speed){ y+=move_speed }} direction=point_direction(x,y,mouse_x,mouse_y) Sterowanie jego animacjami: GML ///scr_PlayerAnimation anim_speed=argument0 anim_Idle=argument1 anim_Move=argument2 if image_xscale= 1 { if x>xprevious {image_speed= anim_speed } else{image_speed=-anim_speed}} if image_xscale=-1 { if x<xprevious {image_speed= anim_speed } else{image_speed=-anim_speed}} if x = xprevious && y = yprevious{ if sprite_index != anim_Idle{ sprite_index = anim_Idle} }else{ if sprite_index != anim_Move{ sprite_index = anim_Move}} if x<mouse_x { image_xscale=1 }else{ image_xscale=-1 } Udział w credistach mile widziany :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę