Saludos, yo soy nuevo por aquí tengo una duda de si se puede esto en game maker.

Resulta que tengo un personaje que quiero que cambie de tonos de color (o sea pintarlo de un color determinado tipo efecto "fade to a color" que se encuentra en el editor de sprites de GM)

Buscando intenté probar si con image_blend lograba eso pero no, el sprite queda con un color raro y malo... si mi personaje es verde y lo pinto de azul queda de un color casi negro, pero yo quiero que se vea azul.

Lei por ahí que algunos usaban un método de hacer un cuadro que cubra toda la view y jugando con la transparencia lograban la transición de día a noche por ejemplo... con este truco estaría logrando lo que busco... es decir creo un objeto rectángulo azul y lo pongo encima de mi personaje, claro aplicandole la transparencia lo colorea bien... pero queda el problema de que se colorea toda el area del rectángulo, yo solo quiero que pinte el área de mi personaje :-X

Bueno en resumen quiero saber si se puede aplicar el efecto "fade to a color" sobre un objeto para pintarlo así, espero haberme explicado bien y gracias por leer.




Para hacer eso, el sprite debe ser de color BLANCO. Lo blanco es lo que se coloreará, y los tonos de grises también, pero con más opacidad. Por ejemplo, tienes un cuadro blanco con degradado gris, y si lo pintas de azul, se verá azul con degradado de azul más oscuro.

Para colorear el sprite debes usar la función draw_sprite_ext(spr,img,x,y,xscale,yscale,rot,col,alpha). Donde spr es el identificador del sprite, img es el número de la subimagen que se dibujará, x & y pues la posicion, xscale & yscale son la escala del sprite, rot es su rotación (en ángulos), col es EL COLOR CON EL QUE SE DIBUJARÁ TU SPRITE, y alpha es la opacidad.... Saludos :B
alaberga regué el café.

BA:STFW&RTFM

Niu no le compliques la vida xD con image_blend le sobra que es lo que probablemente estará usando xD
Por todo lo demás, así es como se hace :v
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Gracias por tu respuesta NiuWeb pero me parece que no me sirve eso, porque yo planeo hacer un juego de peleas-plataformas por lo que tanto mi personaje como los enemigos contienen algo más de 50 sprites cada uno y pues crear 50 sprites blancos para cada uno es un tanto ... no óptimo XD

Pero seguí buscando y ya encontré la solución, se trata de la función "d3d_set_fog" una función de niebla para GM 3D pero igual válida para este caso porque me pinta el sprite limpiamente al color deseado :D

Así que tema solucionado e igual gracias por su ayuda.

Eso es genial, yo estaba haciendo un script para copiar los sprites en blando, pero tu método es mejor.

con los mismos sprites que tienes, en el editor, con usar el filtro black and white en los que necesites ya vale
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]