JerryJohn Opublikowano 4 Marca 2014 Udostępnij Opublikowano 4 Marca 2014 Witam, Mam surface który wypełniony jest na czarno z określonym alpha. Następnie rysuję na nim sprite'y świateł o określonym kolorze używając bm_add: GML // STEP surface_set_target(global.Light); if ( Outdoor ) { draw_clear_alpha(c_black,Alpha); draw_set_blend_mode(bm_add); draw_sprite_ext(sLightBulb1,0,oPlayer.x-view_xview[0],oPlayer.y-view_yview[0],1,1,0,c_white,1); if ( global.DayTime == dtNight && oPlayer.WeaponSeathed ) draw_sprite_ext(sLightBulb3,0,oPlayer.x-view_xview[0],oPlayer.y-view_yview[0],2,2,oPlayer.Direction,c_orange,1); with ( oFire ) draw_sprite_ext(sLightBulb1,0,x-view_xview[0],y-view_yview[0],1,1,0,c_white,1); } draw_set_alpha(1); draw_set_blend_mode(bm_normal); surface_reset_target(); // DRAW draw_set_blend_mode_ext(bm_zero,bm_src_color); draw_surface(global.Light,view_xview[0],view_yview[0]); draw_set_blend_mode(bm_normal); W rezultacie otrzymuję czarny surface bez uwzglednienia Alpha (czyli z alpha = 1), oraz sprity świateł o określonym kolorze które akurat rysują się bardzo fajnie. Problemem jest draw_set_blend_mode_ext(bm_zero,bm_src_color), które tak jakby w ogóle nie brało pod uwagę kanału alpha. Nie znam się na tych trybach za bardzo, sposób ten znalazłem na forum yoyogames i nie wiem za bardzo jak to naprawić. Z góry dzięki, pozdrawiam 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ę