Skocz do zawartości

Efekt krwi


szpaq99

Rekomendowane odpowiedzi

Jak zrobić że jak nabój dotknie bohatera to na ekranie tworzy się coś takiego :

 

Bez_nazwy_1.jpg

 

Taki efekt uderzenia, tylko że ja nie chce tego robić za pomocą sprita. Z góry dzięki za pomoc.

 

Ej wogóle jakich funkcji użyć żeby coś takiego zrobić Surface, można prosić o link do Arta.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie potrzeba do tego surfaca.

Zrób 2 sprity jeden całkowicie czerwony a 2 maskę alfa ( wystarczy że zrobisz sprit który dałeś wyżej czarno biały oraz odwrócisz mu kolory - to będzie twoja maska )

potem za pomocą tej funkcji połącz je ze soba:

GML
sprite_set_alpha_from_sprite(czerwony_sprit,maska);

teraz jeżeli będziesz chciał wyświetlić czerwony_sprit za pomocą draw_sprite to uzyskasz efekt który chcesz zrobić.

Odnośnik do komentarza
Udostępnij na innych stronach

masz tu krew z 2012 (tekstura + maska): https://gmclan.org/up1105_4_Bloody2012.html

 

obiekt BloodyView:

GML (Create)
image_alpha=0

rate=0.1 // szybkosc zanikania krwi

background_set_alpha_from_background(bacBloodImage,bacBloodAlpha) // podpinamy obrazkowi krwi maske alpha

tex=background_get_texture(bacBloodImage) // pobieramy teksture z backgrounda krwi</span></span></span></span>

GML (Draw)
draw_set_alpha(image_alpha)

draw_primitive_begin_texture(pr_trianglefan,tex)

draw_vertex_texture(view_xview[0],view_yview[0],0,0)

draw_vertex_texture(view_xview[0]+view_wview[0],view_yview[0],1,0)

draw_vertex_texture(view_xview[0]+view_wview[0],view_yview[0]+view_hview[0],1,1)

draw_vertex_texture(view_xview[0],view_yview[0]+view_hview[0],0,1)

draw_primitive_end()

draw_set_alpha(1)

image_alpha-=rate

if(image_alpha<0)image_alpha=0

pamiętaj aby obiekt BloodyView miał najmniejsze depth ze wszystkich obiektów ale nie mniejsze niż depth HUDa

 

zdarzenie kolizji pocisku z bohaterem:

GML
BloodyView.image_alpha=1 // lub inna wartość, którą dopasujesz eksperymentalnie</span></span></span></span>
Odnośnik do komentarza
Udostępnij na innych stronach

surfaces to jest taki plakat na którym możesz sobie coś malować, robić z tym cokolwiek jak normalne rysowani w roomie, ale surfaces maja taki plus ze mozna je rysowac w roomie niemal jak zwyklego sprajta czy backgrounda. Zupelnie jak bys sobie tapetowal sciany plakatami gwiazd czy czego tam chcesz ;p

Odnośnik do komentarza
Udostępnij na innych stronach

tak, to co ma sie pojawiac dynamicznie ale sie nie animuje.

btw. poprawilem kod bo zapomnialem o alphie ;p

Odnośnik do komentarza
Udostępnij na innych stronach

a draw_set_color(c_white) to do lasu poszlo? to jest akurat najbardziej logiczna rzecz ze jak cos jest czarne a nie powinno to nalezy zmienic mu kolor :>

Odnośnik do komentarza
Udostępnij na innych stronach

osobiscie wole primitywy od background_streched

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...