pankracy Opublikowano 29 Lutego 2016 Udostępnij Opublikowano 29 Lutego 2016 Cześć wszystkim skorzystałem z przykładu z forum...A dokładnie kiedy wchodzę do wody ubywa mi tlen,jak tlen osiągnie wartość zerową,to ubywa mi energia..jak energia osiągnie wartość zerową tracę życie.. Ok brzmi prosto,ale problem w tym,że chciałbym aby pasek tlenu pojawiał się dopiero,kiedy znajdę się bohaterem w wodzie,a nie żeby był non stop..i teraz kwestia,czy lepiej użyć draw_sprite_ext? czy może draw_sprite_part? Ewentualnie jak idealnie nanieść pasek tlenu w miejscu paska energii bohatera? ale tylko,żeby pokazywał się ja jestem w wodzie,a nie non stop.. niżej kod mojego tlenu w wodzie.. w create bohatera dodałem zmienną GML tlen=10;//poczatkowa ilosc tlenu w stepie bohatera GML //Zanurzamy sie if tlen<10 {if distance_to_object(obj_woda)>1 {tlen+=0.2}} //jesli nie ma tlenu energia ucieka i bohater potem traci zycie if tlen<0.1 {global.hp-=0.2} if global.hp<0 { global.life -= 1; } i teraz w draw gui ten pasek tlenu GML draw_sprite_ext(spr_tlen,0,2,2,obj_player.tlen*10,1,0,image_blend,1)//rozsciagnal mi sie po calosci pasek tlenu draw_sprite_part(spr_hp_bar,1,1,0,180/maxHpHUD*hpHUD,130,90,14);//to akurat pasek hp energi bohatera draw_set_color(c_white); tu kolizja obj wody z graczem GML if tlen>0 {tlen-=0.1} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 29 Lutego 2016 Udostępnij Opublikowano 29 Lutego 2016 GML if distance_to_object(obj_woda)<1 draw_sprite_ext(spr_tlen,0,2,2,obj_player.tlen*10,1,0,image_blend,1); Zależy. Ext po prostu rozciąga pasek, natomiast part ucina go. Jak jest cały jednolisty w poziomie, to żadna różnica ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 29 Lutego 2016 Udostępnij Opublikowano 29 Lutego 2016 Jak chcesz pokazywać pasek tlenu tylko gdy jesteś w wodzie to sprawdzaj czy nie jest pełen: GML if tlen<10 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 29 Lutego 2016 Autor Udostępnij Opublikowano 29 Lutego 2016 GMLif distance_to_object(obj_woda)<1 draw_sprite_ext(spr_tlen,0,2,2,obj_player.tlen*10,1,0,image_blend,1); Zależy. Ext po prostu rozciąga pasek, natomiast part ucina go. Jak jest cały jednolisty w poziomie, to żadna różnica ;) No właśnie to nic nie pomaga,pasek się wcale nie pojawia;) step bohatera GML //nabieranie powietrza if tlen<10 {if distance_to_object(obj_woda)>1 draw_sprite_ext(spr_tlen,0,2,2,obj_player.tlen*10,1,0,image_blend,1); {tlen+=0.2}} //jesli nie ma powietrza energia ucieka i bohater potem traci zycie if tlen<0.1 {global.hp-=0.2} if global.hp<0 { global.life -= 1; } On się pojawi jak wrzucę go do drąw gui,ale chce żeby się tylko i wyłącznie pokazywał jak jestem wyłącznie w wodzie... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 29 Lutego 2016 Udostępnij Opublikowano 29 Lutego 2016 Wyrzuć to ze stepa i zrób jak threef napisał. W Draw: GML if tlen<10 draw_sprite_ext(spr_tlen,0,2,2,obj_player.tlen*10,1,0,image_blend,1); Wszystkie funkcje z draw_* wstawiaj tylko do draw. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 29 Lutego 2016 Autor Udostępnij Opublikowano 29 Lutego 2016 Wyrzuć to ze stepa i zrób jak threef napisał. W Draw: GMLif tlen<10 draw_sprite_ext(spr_tlen,0,2,2,obj_player.tlen*10,1,0,image_blend,1); Wszystkie funkcje z draw_* wstawiaj tylko do draw. No działa dzięki;) tylko nie wiem,czemu mi sprita tlenu rozciąga:/ może zamiast draw_sprite_ext użyć draw_sprite_part?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Amaterasu Opublikowano 29 Lutego 2016 Udostępnij Opublikowano 29 Lutego 2016 Taa, sprite_part wyświetla tylko wybraną część sprite'a, a sprite_ext rozciąga danego sprite'a do podanych wielokrotności bazowych wymiarów (niekoniecznie całkowitych) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matrix_ Opublikowano 29 Lutego 2016 Udostępnij Opublikowano 29 Lutego 2016 No działa dzięki;) tylko nie wiem,czemu mi sprita tlenu rozciąga:/ może zamiast draw_sprite_ext użyć draw_sprite_part?? GML obj_player.tlen*10 To powoduje że ci rozciąga, a chcesz żeby ci robił twoja grafikę jako repeat czy po prostu ją skracać w zależności od ilości tlenu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 29 Lutego 2016 Autor Udostępnij Opublikowano 29 Lutego 2016 GMLobj_player.tlen*10 To powoduje że ci rozciąga, a chcesz żeby ci robił twoja grafikę jako repeat czy po prostu ją skracać w zależności od ilości tlenu? Wystarczy,żeby mi tylko skracał w zależności od tlenu..mam jednego właśnie sprita do tlenu... o wymiarach 208x33 Kurcze...jak ustawić tego sprita tlenu żeby nie zapierdzielał jak głupi,tylko powoli tlen ubywał a,i nie był tak rozciągnięty ten pasek Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 29 Lutego 2016 Udostępnij Opublikowano 29 Lutego 2016 GML draw_sprite_ext(spr_tlen,0,2,2,tlen/10,1,0,image_blend,1); Prosta matma, musisz dzielić a nie mnożyć :P I to draw jest w bohaterze? W takim razie nie musisz pisać obj_player. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 29 Lutego 2016 Autor Udostępnij Opublikowano 29 Lutego 2016 GMLdraw_sprite_ext(spr_tlen,0,2,2,tlen/10,1,0,image_blend,1); Prosta matma, musisz dzielić a nie mnożyć :P I to draw jest w bohaterze? W takim razie nie musisz pisać obj_player. Tak Kaktus mam w draw bohatera,no fakt nie trzeba pisać obj_player ale teraz nic nici wyświetla amba brak paska ;) GML if tlen<10 draw_sprite_ext(spr_tlen,0,2,2,tlen/10,1,0,image_blend,1); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 29 Lutego 2016 Udostępnij Opublikowano 29 Lutego 2016 Masz to wpisane w draw, czy draw GUI? Jeśli w draw, to pamiętaj, że ono pokazuje w pozycji roomu standardowo, nie viewa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 29 Lutego 2016 Autor Udostępnij Opublikowano 29 Lutego 2016 Masz to wpisane w draw, czy draw GUI? Jeśli w draw, to pamiętaj, że ono pokazuje w pozycji roomu standardowo, nie viewa. Działa tak jak wspominałeś miałem w Draw,a wystarczyło wstawić do Draw gui dzięki jeszcze bardzo za pomoc;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 29 Lutego 2016 Udostępnij Opublikowano 29 Lutego 2016 W Drawie też mogłeś mieć. Różnica jest taka, że Draw_GUI pokazuje zawsze widoczny widok(masło maślane), w sensie, że pozycje są ustalone od obecnego ustawienia viewu. W Draw pokazuje w pozycjach rooma. Jeśli chcesz, żeby było zawsze widoczne, to piszesz np: x+view_xview[0]. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 29 Lutego 2016 Autor Udostępnij Opublikowano 29 Lutego 2016 W Drawie też mogłeś mieć. Różnica jest taka, że Draw_GUI pokazuje zawsze widoczny widok(masło maślane), w sensie, że pozycje są ustalone od obecnego ustawienia viewu. W Draw pokazuje w pozycjach rooma. Jeśli chcesz, żeby było zawsze widoczne, to piszesz np: x+view_xview[0]. Ok faktycznie po dopisaniu x+view)xview[0] wszystko jest widoczne mam tak w draw tym razem dodałem,ale powiedzcie mi...dlaczego jest tak,że jak wskaźnik tlenu mi się zmniejsza,to zamiast z jednej strony,czyli z prawej się zmniejszać,to on się z dwóch stron zmniejsza taki efekt zwężania.. GML if tlen<10 draw_sprite_ext(spr_tlen,1,view_xview+150,view_yview+120,tlen/10,1,0,image_blend,1); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 29 Lutego 2016 Udostępnij Opublikowano 29 Lutego 2016 Masz ustawione orgin na środku.(Jak masz nazwę sprite i tam go edytujesz). Jeśli ustawisz x na 0, to będzie git ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pankracy Opublikowano 29 Lutego 2016 Autor Udostępnij Opublikowano 29 Lutego 2016 Masz ustawione orgin na środku.(Jak masz nazwę sprite i tam go edytujesz). Jeśli ustawisz x na 0, to będzie git ;) No kurcze wycentrowałem sprita gamoń ze mnie;) dzięki wszystko jest dobrze;) a ja już myślałem,że coś popierdzieliłem w tym draw;) Kaktus ,Threef dziękuje chłopaki;) 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ę