Już raz mi pomogliście za co wam dziękuje ale znowu od kilku godzin stoję w kropce.
Za pomocą surface stworzylem oswietlenie, wyglada to tak:
Przed
Po
Podłoga to obiekt, ściany są czarne tak jak tło, na tym obrazku zmieniłem tło na szare
szare tło
Chciałbym uzyskać mniej więcej taki efekt latarki jak na tym zedytowanym zrzucie.
Efekt
Chodzi o to aby światło padające od gracza zatrzymywało się częściowo lub całkowicie na ścianie
ale zupełnie nie wiem jak sie za to zabrać.
Interesuje mnie każdy pomysł na edycję mojego kodu lub stworzenie nowego kodu.
meczylem sie z koliziami, surfaceami, liniami, move_... itd, od godziny nie mam zupełnie żadnego pomysłu.
Prześlę troche kodu:
obj_sciana to zwykły object bez kodu, posiada jedynie zwykły czarny sprite
obj_podloga tak samo
Za światło odpowiada obj_hud
Create:
surf=surface_create(1920,1080);
setl=20;
Step:
ccc=make_color_rgb(setl,setl,setl+10);
color=merge_color(ccc,c_white,2) //tworzymy mieszanke kolor�w
surface_set_target(surf)//w�aczmy tryb rysowania po surface
draw_clear(color) // czy�cimy surfaca
draw_set_blend_mode(bm_subtract) // ustawaimy blend mode "odwrocenie koloru"
//swiatlo wokol gracza
playerx=obj_gracz.x-view_xview;
playery=obj_gracz.y-view_yview;
//swiatlo wokol gracza
draw_circle_color(playerx,playery,200,c_white,c_black,0)
//swiatlo latarki Tak wyglada sprite swiatla latarki
if obj_gracz.eqlight==1 and obj_gracz.light==1
{
draw_sprite_ext(spr_latarka_light,0,playerx,playery,1,1,obj_gracz.image_angle,c_
white,1);
}
//swiatlo wystrzalu
if obj_gracz_rece.strzal_light==1
{
obj_gracz_rece.strzal_light=0
draw_sprite_ext(spr_strzal_light,0,playerx,playery,2,2,obj_gracz.image_angle,c_w
hite,1);
}
draw_set_blend_mode(bm_normal) //ustawiamy normalny tryb blendingu...
surface_reset_target()// konczymy tryb rysowania
Draw:
draw_set_blend_mode(bm_subtract)//ponownie odwracamy kolory
draw_surface(surf,view_xview,view_yview)//rysujemy surfaca
draw_set_blend_mode(bm_normal)//i ustawiamy normalny blending xD;
Jeśli ktos da rade, pomóżcie
Z Góry Dzięki