Bueno, resulta que quiero saber como poner los sprite de color blanco mediante la función:
image_blend
Si existe un mejor método díganme  ;)

NO quiero usar el método de cambiar de sprite, Gracias.
Hola

#1 Abril 27, 2016, 06:37:23 PM Ultima modificación: Abril 28, 2016, 06:30:04 AM por Clamud
La variable image_blend no se puede usar para dibujar un sprite en blanco, porque en realidad la variable no guarda un color que se combina con el sprite, más bien es un multiplicador de color. Por ejemplo, si un sprite tiene pixels negros, cuyo valor de color es cero, aunque la variable image_blend sea blanco no modificará el color de esos pixels, porque cualquier valor multiplicado por cero es igual a cero. Sin embargo, existen otras alternativas para lograr ese efecto.

Un método es crear una copia del sprite en blanco, y dibujar ese sprite encima del sprite original. Éste es el método menos eficiente, porque se crea una nueva página de textura para almacenar el sprite.

Otro método es invertir los colores de un área rectangular, después dibujar el sprite en negro (con image_blend=c_black o draw_sprite_ext) y volver a invertir los colores del área rectangular. Para ello se usa este script: http://www.gmlscripts.com/script/draw_rectangle_inverted

Los dos métodos anteriores se muestran en un archivo adjunto.

El mejor método en GMS es usar un shader, como el shader #6 que aparece en la demo de la imagen: