Image_blend - Schwarz weiß?
- GM 8
-
-
Nein.
Mit sprite_set_alpha_from_sprite() kann man aber einen ähnlichen Effekt erzielen, nur geht dann die Transparenz des originellen Sprites verloren. Wieso machst du es nicht andersrum und benutzt ein schwarz-weiss Sprite und färbst es mit image_blend ein? -
Naja Transparenz hat es eh nicht, da es ein Block (16x16) ist.
-
Also ob du es mit einem extra Sprite oder durch GML lößt, wäre eigentlich egal.
Mit der Methode die ich kenne musst du sowieso ein neues Sprite erstellen:
GML-Quellcode
- // sprite_create_grayscale(ind)
- var spr,w,h,xx,yy,sur,grayscale;
- spr = argument0;
- w = sprite_get_width(spr);
- h = sprite_get_height(spr);
- xx = sprite_get_xoffset(spr);
- yy = sprite_get_yoffset(spr);
- sur = surface_create(w,h);
- surface_set_target(sur);
- draw_clear(c_white);
- grayscale = sprite_create_from_surface(sur,0,0,w,h,false,false,false,false,xx,yy);
- sprite_set_alpha_from_sprite(grayscale,spr);
- draw_clear(c_black);
- draw_sprite(grayscale,0,xx,yy);
- surface_reset_target();
- sprite_delete(grayscale);
- grayscale = sprite_create_from_surface(sur,0,0,w,h,false,false,false,false,xx,yy);
- surface_free(sur);
- return grayscale;
-
Tags