pankracy Opublikowano 14 Stycznia 2016 Udostępnij Opublikowano 14 Stycznia 2016 Cześć wszystkim. Borykam się z takim problemem. Zrobiłem przeciwnikowi pocisk,który w momencie styczności z moim bohaterem;zatrzymuje mojego bohatera na czas 1sekunda.. I teraz chciałbym jeszcze żeby ten pocisk nałożył na mojego sprita bohatera efekt lodu,czyli tak jakby zamarzł mój bohater. próbowałem dodając to image_blend=c_blue ale to nie jest zamierzony efekt,bo tylko zmienia kolor na niebieski mój bohater,a on ma się na tą sekundę zamrozić.. to mój kod w kolizji bohatera z tym lodowym pociskiem GML // kolizja bohatera z lodowym pociskiem frozen = true; frozen_x = x; frozen_y = y; alarm[0] = 30 // 1 sekunda zamrozenia image_blend=c_blue step bohatera GML // gdy bohater jest zamrozony zatrzymujemy go if(frozen==true) { x = frozen_x; y = frozen_y; } alarm0 u bohatera GML // alarm[0] frozen = false; // powracamy do normalnego stanu no i teraz kod pocisku lodowego create GML if obj_psyhodoktorek.t=2 hspeed=5 else if obj_psyhodoktorek.t=1 hspeed=-5 vspeed=-8 alarm[0]=5*20 rot=0 step GML if place_free(x,y+1) gravity = 0.3 else gravity = 0; no i kolizja pocisku z moim bohaterem GML tu dodałem klocek destroy the instance Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 14 Stycznia 2016 Udostępnij Opublikowano 14 Stycznia 2016 Najprościej: Zrób grafikę kostki lodu i nakładaj ją na sprita postaci. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 14 Stycznia 2016 Autor Udostępnij Opublikowano 14 Stycznia 2016 Najprościej: Zrób grafikę kostki lodu i nakładaj ją na sprita postaci. Czyli w momencie zetknięcia z lodowym pociskiem zmienić na sprite lodowy.no ok,to tak chciałem zrobić,ale czy jest też inna metoda? może w draw? czy emitery? taki efekt lub podobny jak w Mortal Kombat ma Sub-zero.. czyli strzela wróg we mnie no i leci lodowy pocisk,a po chwili zamarzam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 14 Stycznia 2016 Udostępnij Opublikowano 14 Stycznia 2016 GML (draw) draw_self() if(frozen==true) { draw_sprite(x,ysprite kostki lodu) image_index-=image_speed//Żeby podczas zamrożenia nie animowało postaci. } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 14 Stycznia 2016 Autor Udostępnij Opublikowano 14 Stycznia 2016 GML (draw)draw_self() if(frozen==true) { draw_sprite(x,ysprite kostki lodu) image_index-=image_speed//Żeby podczas zamrożenia nie animowało postaci. } Serdecznie dziękuje Threef;) dobra to zabieram się do rysowania sprita lodowego;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 15 Stycznia 2016 Autor Udostępnij Opublikowano 15 Stycznia 2016 GML (draw)draw_self() if(frozen==true) { draw_sprite(x,ysprite kostki lodu) image_index-=image_speed//Żeby podczas zamrożenia nie animowało postaci. } No niestety to nie wyświetla mi sprita lodowego na spricie bohatera draw GML draw_self() if(frozen==true) { draw_sprite(spr_lodowy,0,x,y ); image_index-=image_speed } daje to oczywiście w draw tego mojego pocisku,a w create pocisku dałem frozen=false; a druga sprawa..jak zrobić żeby mój bohater jak lodowy pocisk go w powietrzu złapie,żeby nie opadał w doł,tylko się zatrzymał na ten czas co ustawiłem,czyli na sekundę,i dopiero po sekundzie spadł.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hgter Opublikowano 15 Stycznia 2016 Udostępnij Opublikowano 15 Stycznia 2016 Możesz też wykorzystać draw_sprite_part żeby uzyskać efekt stopniowego zamarzania postaci po trafieniu (oczywiście to samo jest do uzyskania dając kilka klatek animacji, ale z użyciem parta wystarczy, że masz 2 - dla pełnego rozmrożenia i dla pełnego zamrożenia). daje to oczywiście w draw tego mojego pocisku,a w create pocisku dałem frozen=false; Ale to chyba w postaci powinieneś dać. Bo nie niszczysz przypadkiem pocisku po trafieniu? Nawet jeżeli nie to współrzędne x i y powinny być z postaci a nie z pocisku. Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 15 Stycznia 2016 Udostępnij Opublikowano 15 Stycznia 2016 To nie ty pomyliłeś ostatnio kolejności argumentów? Bo teraz zdecydowanie pomylliłeś. Masz wyłączone podpowiadanie w kodzie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hgter Opublikowano 15 Stycznia 2016 Udostępnij Opublikowano 15 Stycznia 2016 Ale chyba nie pomylił:) z dokumentacji (ja zawsze mylę, więc muszę zerkać): GML draw_sprite(sprite, subimg, x, y); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 15 Stycznia 2016 Udostępnij Opublikowano 15 Stycznia 2016 Wrzuć do klamry po if(frozen), czy to w ogóle się wykonuje. Niech będzie show_debug_message("test"); Potem sprawdź konsolę. Może frozen Ci się w ogóle nie zmienia na true, albo tylko na jeden tik i przestaje, niezauważalnie. edit daje to oczywiście w draw tego mojego pocisku,a w create pocisku dałem frozen=false; Skoro chcesz to rysować na graczu, to daj w draw gracza, bo z tego co zrozumiałem dałeś w draw pocisku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 15 Stycznia 2016 Autor Udostępnij Opublikowano 15 Stycznia 2016 Wrzuć do klamry po if(frozen), czy to w ogóle się wykonuje. Niech będzie show_debug_message("test"); Potem sprawdź konsolę. Może frozen Ci się w ogóle nie zmienia na true, albo tylko na jeden tik i przestaje, niezauważalnie. edit Skoro chcesz to rysować na graczu, to daj w draw gracza, bo z tego co zrozumiałem dałeś w draw pocisku. No to fakt..muszę to dodać do bohatera w draw. Threef strzelileś tam.literówkę.Z ostatniej Twojej uwagi.wziąłem.sobie to do serca i najpierw sprawdziłem.dokumentacje;-) Dobra..a jak teraz zatrzymać bohatera jak go.lodowy pocisk dosięgnie jak jest bohater w powietrzu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 15 Stycznia 2016 Udostępnij Opublikowano 15 Stycznia 2016 No to fakt..muszę to dodać do bohatera w draw. Threef strzelileś tam.literówkę.Z ostatniej Twojej uwagi.wziąłem.sobie to do serca i najpierw sprawdziłem.dokumentacje;-) Dobra..a jak teraz zatrzymać bohatera jak go.lodowy pocisk dosięgnie jak jest bohater w powietrzu? Twoja postać posiada grawitację? Masz parę możliwości. 1. W trakcie kolizji ustawiać grawitację na 0 2. Sprawdzać czy frozen==false, jeśli tak, to niech tylko wtedy wykonuje się kod dodawania grawitacji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 15 Stycznia 2016 Autor Udostępnij Opublikowano 15 Stycznia 2016 Twoja postać posiada grawitację? Masz parę możliwości. 1. W trakcie kolizji ustawiać grawitację na 0 2. Sprawdzać czy frozen==false, jeśli tak, to niech tylko wtedy wykonuje się kod dodawania grawitacji. Naturalnie moja postać ma grawitacje..inaczej to jakby to funkcjonowało. vspeed u mnie vspd mam tak przypisałem Hgter dziękuje bardzo wykorzystam draw_sprite_part to będzie lepszy efekt niż animacja zwykła przy draw_sprite Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 15 Stycznia 2016 Udostępnij Opublikowano 15 Stycznia 2016 Threef strzelileś tam.literówkę.Z ostatniej Twojej uwagi.wziąłem.sobie to do serca i najpierw sprawdziłem.dokumentacje;-) Hmm... Widzę że brzydko zrobiłem, na lenia. Nie chciało mi się dokładnie sprawdzać argumentów. No i poza komentarzem nie opisałem tam nic. Nie wiem czemu wpadło mi do głowy że argumenty są na odwrót. Masz zmienną która mówi czy postać jest zamrożona. Jeżeli jest true to zablokuj poruszanie. A jak najbardziej można robić platformówki bez wbudowanej grawitacji. Można ją sobie zakodować samemu. Prosto dodając jakaś zmienną do y. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 15 Stycznia 2016 Autor Udostępnij Opublikowano 15 Stycznia 2016 Hmm... Widzę że brzydko zrobiłem, na lenia. Nie chciało mi się dokładnie sprawdzać argumentów. No i poza komentarzem nie opisałem tam nic. Nie wiem czemu wpadło mi do głowy że argumenty są na odwrót. Masz zmienną która mówi czy postać jest zamrożona. Jeżeli jest true to zablokuj poruszanie. A jak najbardziej można robić platformówki bez wbudowanej grawitacji. Można ją sobie zakodować samemu. Prosto dodając jakaś zmienną do y. dobra z grawitacją to ogarnę... a teraz tak,bo wiadomo co chwile zmienia się położenie mojego sprita w trakcie walki z wrogiem..i obecnie mój sprit,który ma się na bohatera nałożyć,to pokazuje się po jego boku..myślę ile mu dać x ile y? GML ///postac zamarza od pocisku draw_self() if(frozen==true) { draw_sprite(spr_mrozony_pocisk,0,x,y ); image_index-=image_speed } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 15 Stycznia 2016 Udostępnij Opublikowano 15 Stycznia 2016 Ustaw origin spritu lodu, albo dodaj połowę długości sprita i szerokości. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 16 Stycznia 2016 Autor Udostępnij Opublikowano 16 Stycznia 2016 Ustaw origin spritu lodu, albo dodaj połowę długości sprita i szerokości. Dzięki Sutikku za radę;) już wiem jak to ustawić;) 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ę