karolo320 Opublikowano 21 Czerwca 2011 Udostępnij Opublikowano 21 Czerwca 2011 Siema. Chcę zrobić kulę, która będzie pokazywała ilość hp bohatera. Jeśli zycie jest pelne (100/100) to chcę, żeby kula była pełna, jeśli 50/100 to w połowie wypełniona. I mam spite okręgu i sprite koła. I jak to teraz zrobić? Bo umiem tylko na kwadratach, a zależy mi na kuli :) Z góry thanks man! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 21 Czerwca 2011 Udostępnij Opublikowano 21 Czerwca 2011 draw_sprite_part(spr_hp, image_index, 0, 0, _szerokosc_sprite, (hp/100) / szerokosc_sprite, x,y); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 21 Czerwca 2011 Autor Udostępnij Opublikowano 21 Czerwca 2011 Wiem, ale nie wiem jak tego użyć, bo w dokumentacji (polskiej) nic nie ma Jeszcze jedno: draw_sprite_part(sprite18,-1,0,0,62,(boh.hp/100)*62,view_xview-2,view_yview+419); Ten kod działa, ale jak dam boh.hp/200, to będzie "ubywało" od dołu. Jak zrobić, żeby ubywało od góry? Zrobiłem tak: draw_sprite_part(sprite18,-1,0,0,62,(boh.hp/100)*(-62),view_xview-2,view_yview+419+62); Ale nie podziałało. Robi się prostokąt ^^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 21 Czerwca 2011 Administratorzy Udostępnij Opublikowano 21 Czerwca 2011 Skoro ubywa od dołu, to logiczne - trzeba dodać to co ubyło od góry. GML var ubylo = (boh.hp/100)*62; draw_sprite_part(sprite18,-1,0,0,62,ubylo,view_xview-2,view_yview+419+62-ubylo); Sprawdź czy nie pomyliłem gdzie jest pozycja Y, bo nie znam parametrów tej funkcji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 21 Czerwca 2011 Autor Udostępnij Opublikowano 21 Czerwca 2011 Gnysek chyba nie zrozumiałeś o co mi chodzi. Przy Twoim kodzie najpierw kula jest cała, po odjęciu hp ucina ją od dołu(a zależało mi, żeby rżło ją od góry) a potem dodaje do Y, tak że dół kuli (nie ważne jak bardzo uciętej) jest w tym samym punkcie na osi Y. POŁĄCZONO: Proszę o pomoc w rozwiązaniu problemu :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 21 Czerwca 2011 Udostępnij Opublikowano 21 Czerwca 2011 Pomocna okażę się funkcja: GML draw_sprite_part_ext() Do argumentu yscale wpisz -1. Resztę argumentów ustaw do swoich potrzeb. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dzaher Opublikowano 21 Czerwca 2011 Udostępnij Opublikowano 21 Czerwca 2011 Zrób dwa wyglądy (całe czerwone koło - wygląd życia) i np. szare i daj nazwe np. spr_hp. i w obiekcie np. obj_hp w Evencie Draw daj: GML draw_sprite(spr_hp,0,x,y) if (hp > 0) {draw_sprite_part(spr_hp,1,0,0,szer.sprita,wys.sprita-(wys.sprita/(maxHp/hp)),x,y)} else {draw_sprite_part(spr_hp,1,0,0,szer.sprita,wys.sprita-(wys.sprita/(maxHp/1)),x,y)} Oczywiście musisz mieć zmienne hp i maxHp. :) Jak co masz tu przykład: Download Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 21 Czerwca 2011 Udostępnij Opublikowano 21 Czerwca 2011 Zmień origin sprita na lewy dolny róg i wtedy draw_sprite_part samo wystarczy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m@rcixxx Opublikowano 21 Czerwca 2011 Udostępnij Opublikowano 21 Czerwca 2011 draw_sprite_general i po temacie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 21 Czerwca 2011 Administratorzy Udostępnij Opublikowano 21 Czerwca 2011 Jak od góry, to jest parametr TOP od tego chyba, co nie? 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ę