Paindemonium Opublikowano 22 Grudnia 2014 Udostępnij Opublikowano 22 Grudnia 2014 Witam. Pracuję nad zrobieniem animacji nóg postaci w topdown shooter. Nie interesuje mnie zwykła zmiana spritów na animowaną postać w trakcie ruchu, zrobiłem dwa obiekty, postać od pasa w górę i nogi (animowane). Udało mi się w prosty sposób ustawić by nogi były jakby drugą postacią i dzięki temu podążają za resztą jak należy. Problem polega jednak na samym wprawianiu nóg w ustawienie się w odpowiednim kierunku. Chcę by nogi, jako obiekt ustawiał się zawsze w kierunku w którym porusza się postać i tylko w czasie wykonywania tej akcji obiekt się pojawiał, lub był animowany, by postać w miejscu nie trzepotała nogami :). Na chwilę obecną ten test powiódł się ale niesety brakuje mi tych dwóch elementów. Może ktoś podpowie jak to zrobić, lub ma własny pomysł? Efekt ma przypominać zasadę widoku z góry np czołgu wieża/podwozie jako odrębne części, jedna sterowana przez klawisze, druga przez ruch myszki :). Pozdro. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 no tak ładnie opisałeś problem jak nikt :) więc: 1. do zmiany prędkości animacji służy wbudowana zmienna image_speed 2. radził bym ci zrobic to w jednym obiekcie posłuzy ci do tego funkcja draw_sprite_ext() wystarczy draw_sprite_ext(sprLudzik,x,y,0(no bo nie masz animacji do tego),...) draw_sprite_ext(sprNogi_ludzika,x,y,predkosc_animacji_nóg(mozesz dać to image_speed),...) 3.zrób sobie coś takiego ze jak ludzik sie nie porusza to image_speed=0 jezeli jest w ruchu to ustaw sobie np na 0.1 powodzenia :D pisz jak by coś nie pykło, albo coś słabo wytłumaczyłem ps aaaa do ustawiania klatki słuzy zmienna image_index jezeli postać stoi ustaw sobie na image_index=0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gilos99 Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 Witam. Pracuję nad zrobieniem animacji nóg postaci w topdown shooter. Nie interesuje mnie zwykła zmiana spritów na animowaną postać w trakcie ruchu, zrobiłem dwa obiekty, postać od pasa w górę i nogi (animowane). Udało mi się w prosty sposób ustawić by nogi były jakby drugą postacią i dzięki temu podążają za resztą jak należy. Problem polega jednak na samym wprawianiu nóg w ustawienie się w odpowiednim kierunku. Chcę by nogi, jako obiekt ustawiał się zawsze w kierunku w którym porusza się postać i tylko w czasie wykonywania tej akcji obiekt się pojawiał, lub był animowany, by postać w miejscu nie trzepotała nogami :). Na chwilę obecną ten test powiódł się ale niesety brakuje mi tych dwóch elementów. Może ktoś podpowie jak to zrobić, lub ma własny pomysł? Efekt ma przypominać zasadę widoku z góry np czołgu wieża/podwozie jako odrębne części, jedna sterowana przez klawisze, druga przez ruch myszki :). Pozdro. Mam ten sam problem, ;D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paindemonium Opublikowano 23 Grudnia 2014 Autor Udostępnij Opublikowano 23 Grudnia 2014 no tak ładnie opisałeś problem jak nikt :) więc: 1. do zmiany prędkości animacji służy wbudowana zmienna image_speed 2. radził bym ci zrobic to w jednym obiekcie posłuzy ci do tego funkcja draw_sprite_ext() wystarczy draw_sprite_ext(sprLudzik,x,y,0(no bo nie masz animacji do tego),...) draw_sprite_ext(sprNogi_ludzika,x,y,predkosc_animacji_nóg(mozesz dać to image_speed),...) 3.zrób sobie coś takiego ze jak ludzik sie nie porusza to image_speed=0 jezeli jest w ruchu to ustaw sobie np na 0.1 powodzenia :D pisz jak by coś nie pykło, albo coś słabo wytłumaczyłem ps aaaa do ustawiania klatki słuzy zmienna image_index jezeli postać stoi ustaw sobie na image_index=0 Wiem że kiepsko to opisałem bo problem jest raczej drobny. To co mi napisałeś to akurat po części wiem. Nie wiem tylko jakim kodem lub opcją w GM ustawić by animacja się zatrzymywała lub ruszała gdy postać jest w ruchu. Image speed znam, działa ale kurde potrzebuje wtedy tego tak: Gdy ludzik stoi = animacja 0 Gdy ludzik się rusza ( i tutaj nie wiem co zrobić, jaki kod) = animacja rusza. No i rzecz jasna cały obiekt animowanych nóg musi się ustawiać frontem w kierunku ruchu, to też nie mogę wykminić :) Pozdro. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Czołg Krymski Opublikowano 23 Grudnia 2014 Filar Społeczności Udostępnij Opublikowano 23 Grudnia 2014 GML if keyboard_check(ord("W")) or keyboard_check(ord("S")) or keyboard_check(ord("A")) or keyboard_check(ord("D")) { image_speed = ileśtam } else { image_speed = 0 } zakładając, że poruszasz się WSAD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 Albo jeden z moich starych trików: GML if(x!=xprevious || y!=yprevious){} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paindemonium Opublikowano 23 Grudnia 2014 Autor Udostępnij Opublikowano 23 Grudnia 2014 GML if keyboard_check(ord("W")) or keyboard_check(ord("S")) or keyboard_check(ord("A")) or keyboard_check(ord("D")) { image_speed = ileśtam } else { image_speed = 0 } zakładając, że poruszasz się WSAD Dzięki serdeczne. Sprawdzę, jak zadziała, zapamiętam :). Kodzik podobny do tego który uzywam by postać strzelała wciskając klawisz myszki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Czołg Krymski Opublikowano 23 Grudnia 2014 Filar Społeczności Udostępnij Opublikowano 23 Grudnia 2014 bo to zwyczajny warunek, który jest niezbędny przy programowaniu :) używa się go prawie na każdym kroku. Poczytaj dokumentację na GMclanie, jest po polsku. Szybko podłapiesz te wszystkie tajniki, a GML daje jednak znaczne możliwości pomimo, że jest dość uproszczony Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gilos99 Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 no tak ładnie opisałeś problem jak nikt :) więc: 1. do zmiany prędkości animacji służy wbudowana zmienna image_speed 2. radził bym ci zrobic to w jednym obiekcie posłuzy ci do tego funkcja draw_sprite_ext() wystarczy draw_sprite_ext(sprLudzik,x,y,0(no bo nie masz animacji do tego),...) draw_sprite_ext(sprNogi_ludzika,x,y,predkosc_animacji_nóg(mozesz dać to image_speed),...) 3.zrób sobie coś takiego ze jak ludzik sie nie porusza to image_speed=0 jezeli jest w ruchu to ustaw sobie np na 0.1 powodzenia :D pisz jak by coś nie pykło, albo coś słabo wytłumaczyłem ps aaaa do ustawiania klatki słuzy zmienna image_index jezeli postać stoi ustaw sobie na image_index=0 Zapiszesz to w GML ? Bo coś mi nie działa xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Czołg Krymski Opublikowano 23 Grudnia 2014 Filar Społeczności Udostępnij Opublikowano 23 Grudnia 2014 zapisał. Spróbuj pomyśleć trochę Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gilos99 Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 zapisał. Spróbuj pomyśleć trochę Kurde napisałem tak jak pisze ale cały czas błąd wyskakuje. Nie wiem czemu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gilos99 Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 Chodzi mi tylko o GML draw_sprite_ext(spr_player,x,y,0,) draw_sprite_ext(spr_nogi_prawo,x,y,0.5) i błąd, a z tyłu musi być coś jeszcze a on dał "..." o to chodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 Przeczytaj w dokumentacji co ma tam być? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gilos99 Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 Patrze i nie wiem jestę początkujący. Co mam wpisać w xscale, yscale, rot, color, alpha? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 Musisz wpisać wszystko. Masz nawet podany przykład w dokumentacji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gilos99 Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 Dokumentacja WTF? Sorry, że tak zamulam ale pierwszy raz w kodach:) . Mółbyś napisać kod ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 Naciśnij w GM F1 i wróć do pisania gry jak wszystko przeczytasz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gilos99 Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 :/ A może kto inny mi wytłumaczy? Nie chce mi się czytać a w dodatku po angielsku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paindemonium Opublikowano 23 Grudnia 2014 Autor Udostępnij Opublikowano 23 Grudnia 2014 Podany wyżej przykład działa ale obiekt nadal nie kieruje się w stronę poruszania się frontem. Także wyskoczył kolejny problem bo jak postać wpadnie na mur, osta stanie, nogi idą dalej :). Spróbuje coś z tym zrobić ale przydało by się w prosty sposób scalić ze sobą te dwa obiekty :). Ok nogi już nie latają gdzie chcą ustawiłem te samą maskę co postać dla tego obiektu i mają jednakową kolizje z obiektami. Niestety nadal nie wiem jak zrobić by nogi jako obiekt były frontem zawsze obrócone w kierunku w którym idzie postać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 23 Grudnia 2014 Udostępnij Opublikowano 23 Grudnia 2014 xscale-skala w osi X(jezeli rozmiar ma być taki jak obrazek to ustaw na 1), yscale-skala w osi Y, rot-obrót mozesz dać zmienna wbudowaną image_angle lub direction, color-czy ma kolorować, najlepiej daj image_blend, alpha- przezroczystość 0-1 tez za to odpowiada wbudowana zmienna image_alpha mam nadzieje ze pomogłem :) sory za asów wyżej, święta idą każdy(chyba, a ja na pewno) wkurw##ny edit: @up a jak zrobiłeś sterowanie? image_angle odpowiada za kierunek wyświetlania sprite'a, w prawo=0 przeciwnie do wskazówek zegara Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paindemonium Opublikowano 23 Grudnia 2014 Autor Udostępnij Opublikowano 23 Grudnia 2014 xscale-skala w osi X(jezeli rozmiar ma być taki jak obrazek to ustaw na 1), yscale-skala w osi Y, rot-obrót mozesz dać zmienna wbudowaną image_angle lub direction, color-czy ma kolorować, najlepiej daj image_blend, alpha- przezroczystość 0-1 tez za to odpowiada wbudowana zmienna image_alpha mam nadzieje ze pomogłem :) sory za asów wyżej, święta idą każdy(chyba, a ja na pewno) wkurw##ny edit: @up a jak zrobiłeś sterowanie? image_angle odpowiada za kierunek wyświetlania sprite'a, w prawo=0 przeciwnie do wskazówek zegara Tak zrobiłem ale musiałem ustawić na razie by nogi kierowały się frontem w kierunku myszki a mi chodzi o to by postać z giwerą kierowały się w strone myszki natomiast nogi w kierunku w którym idę, coś jak w zombie shooter :). 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ę