szpaq99 Opublikowano 9 Lutego 2010 Udostępnij Opublikowano 9 Lutego 2010 Jak zrobić healthbar, jak coś takiego niżej. Chodzi mi o taki kształt i po odejmowaniu energie niech usuwa kwadracik i niech robi się coraz bardziej przezroczysty aż zniknie. Czyli jak mnie kula trafi niech zabiera jeden kwadracik, a kwadracików ma być pięć. Edit: Za pomoc creditsy !!!!!!!!!!!!!!!!!!! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 9 Lutego 2010 Udostępnij Opublikowano 9 Lutego 2010 może być na spritach? :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
szpaq99 Opublikowano 9 Lutego 2010 Autor Udostępnij Opublikowano 9 Lutego 2010 Ehem TAk Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 9 Lutego 2010 Udostępnij Opublikowano 9 Lutego 2010 Robisz sprite'a z 5 klatkami, taki jak podałeś. W pierwszej klatce będzie tylko 1 kratka, w drugiej 2, itd. W draw piszesz coś takiego: GML draw_sprite(...); // rysowanie sprite'a obiektu draw_sprite( sprite_hp, hp-5, x, y ); // zakładając, że Hp wynosi od 1 do 4</span> EDIT: Auć, nie zauważyłem tej wzmianki o znikaniu. W takim razie użyj kodu Platyny ( post niżej ). Argumenty draw_sprite_ext: draw_sprite_ext( sprite_index, image_index, x, y, image_xscale, image_yscale, image_rotation, image_blend, image_alpha ); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 9 Lutego 2010 Udostępnij Opublikowano 9 Lutego 2010 Zrób sobie sprite, który w kolejnych klatkach ma kolejne kwadraciki. I niech te kwadraciki w tym spritcie będą odpowiedni ułożone by można je było na tych samych x i y rysować. Będzie prościej. W Create stwórz sobie takie zmienne: GML zycia=5; //ilość żyć (maksymalna ilość kwadracików) znika=0; //Gdy ta zmienna będzie większa niż 0 mamy rysować dodatkowy znikający kwadracik i dodatkowo będzie oznaczać jego alphę</span></span> W Step daj: GML if(znika>0) //jeśli jakiś kwadracik ma znikać znika=max(znika-0.1 , 0); //to częściowo zanika. Funkcja max jest użyta by ci nigdy na wartość ujemną nie zeszło niezależnie od tego ile odejmujesz.</span></span> W Draw: GML for(i=0;i<zycia;i+=1) //Tyle ile mamy zyc draw_sprite(spr_kwadraciki,i,30,30); //tyle kwadracików rysujemy if(znika>0) //Jeśli jakiś znika draw_sprite_ext(spr_kwadraciki,zycia,30,30,DALEJ NIE PAMIĘTAM KOLEJNOŚĆ ARGUMENTÓW ALE JAKO "alpha" UŻYJ zmiennej znika); //rysujemy znikający kwadracik</span></span> Teraz przy każdej stracie życia musisz zmniejszyć wartośc zmiennej zycia o 1 oraz ustawić zmienną znika na 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
szpaq99 Opublikowano 11 Lutego 2010 Autor Udostępnij Opublikowano 11 Lutego 2010 Dzięki kod działa o to jego efekty : Edit: Dałoby rade, aby ten healthbar był przezroczysty ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lechu4444 Opublikowano 11 Lutego 2010 Udostępnij Opublikowano 11 Lutego 2010 pewnie musisz mu ustawić alpha' e czy jakoś tak poszukaj na forum bo o przezroczystości było dużo tematów E. o jak masz draw_sprite_ext to ostatnie polecenie jest alpha trzeba to zwiększyć czy zmniejszyć pokombinuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 11 Lutego 2010 Udostępnij Opublikowano 11 Lutego 2010 Si. Ale nie zwiększać czy zmniejszać tylko wymnożyć. Zamień to pierwsze draw_sprite na draw_sprite_ext i jako alphe daj X W tym drugim draw_sprite_ext daj za to (znika*X) A w Create sobie stwórz taką zmienną X która będzie określać przezroczystość. wartość od 0 do 1. 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ę