Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: desplo en Marzo 15, 2015, 06:36:05 AM

Título: Como hacer que el sprite de un objeto se cambie de color poco a poco?
Publicado por: desplo en Marzo 15, 2015, 06:36:05 AM
Por ejemplo:
Tengo 1 sprite cuadrado de color azul y otro de color rojo.

Quiero que el sprite de color azul se transforme poco a poco al de color rojo.
Título: Re:Como hacer que el sprite de un objeto se cambie de color poco a poco?
Publicado por: Neto Maker en Marzo 15, 2015, 06:46:46 AM
Hola, amigo hace rato me ayudaron con este problema de paso te paso un grupo en facebook si se puede? https://www.facebook.com/groups/GMLATINOS
de donde me ayudaron
coloca esto [DRAW]
draw_sprite_ext(Player.sprite_index,Player.image_index,Player.x,Player.y,Player.image_xscale,Player.image_yscale,0,make_color_rgb(ValorRojo,ValorAzul,ValorVerde),1)

el mayor numero es 255 en valor rojo, azul, verde y el menor es 0
entre mas valor tiene el rojo que los otros el sprite sera rojo asi que con variables puedes acomodar a tu gusto suerte
Título: Re:Como hacer que el sprite de un objeto se cambie de color poco a poco?
Publicado por: AppZala en Marzo 15, 2015, 10:34:01 AM
Mucho mas facil! Si tienes game maker studio 1.4 cuando creas un sprite hay un sitio donde pone: animation (o algo asi) y pones: colorize, y pones el numero de fotogramas (Sprites) en el que quieres que cambie de color, y si quieres que vuelva a el color de antes y luego cambie al nuevo todo el rato añade 'add reverse'
Título: Re:Como hacer que el sprite de un objeto se cambie de color poco a poco?
Publicado por: Marth en Marzo 15, 2015, 03:02:53 PM
make_color_rgb(ValorRojo,ValorAzul,ValorVerde) tiene un error. No es Rojo,Azul,Verde sino Rojo,Verde,Azul. :-X
De todos modos, es muy interesante esta función, ya que junto a image_alpha puedes libremente modificar las características de los sprites. ;D
Título: Re:Como hacer que el sprite de un objeto se cambie de color poco a poco?
Publicado por: Clamud en Marzo 15, 2015, 04:16:26 PM
Si quieres hacer una transición entre colores con matices más complicados usa la función merge_colour http://docs.yoyogames.com/source/dadiospice/002_reference/drawing/color%20and%20blending/merge_color.html (http://docs.yoyogames.com/source/dadiospice/002_reference/drawing/color%20and%20blending/merge_color.html)
Primero define los colores inicial y final, y la variable que controla la cantidad de color:
[gml]
color1 = make_color_rgb( rojo, verde, azul );
color2 = make_color_rgb( rojo, verde, azul );
t = 0;
[/gml]
Después se asigna la variable image_blend para colorear el sprite:
[gml]
if( t < 1 ) t += 0.01;
image_blend = merge_color( color1, color2, t );
[/gml]