Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Momfus en Abril 13, 2010, 01:18:19 AM

Título: Cambiar el color del sprite (GM8)
Publicado por: Momfus en Abril 13, 2010, 01:18:19 AM
Hola de nuevo a todos, ya pude solucionar los problemas que tenia en mi juego y no me dejaban dormi jeje...ahora voy con la siguiente pregunta que me gustaria que si usa gml o no...me explicaran com ni?o de guarderia, es decir, donde pongo las cosas y que hace tal otra cosa (espero que se entienda).

La idea que nesecito implementar en el personaje que hice es que al ponerse un valor en una variable (1=blanco 2=rojo 3=verde 4=azul) cambiara el color del sprite, es decir, que se sobreponga un color encima en todo el sprite y movimiento.

Espero que se entienda lo que digo, y la cosa seria implementarlo en el personaje que esta en el documento que antes habia usado para explicar un problema de colision:

http://www.filefront.com/16074661/Problema.gmk/ (http://www.filefront.com/16074661/Problema.gmk/)

Gracias a todos por cualquier ayuda.
Título: Re: Cambiar el color del sprite (GM8)
Publicado por: Silver_light en Abril 13, 2010, 01:35:01 AM
Buenas

Has probado usar image_blend?

Mi idea es hacer esto:

Evento create de algun objeto controlador, o del mismo jugador:
color = -1;
en el evento step:
switch(color)
{
 case 1: image_blend = c_white; break;
 case 2: image_blend = c_red; break;
 case 3: image_blend = c_green; break;
 case 4: image_blend = c_blue; break;
}
en algun evento. Por ejemplo al presionar el numero 1
color = 1;
Al presionar numero 2
color = 2;
Etc... y as? haces con otros botones

Espero te haya ayudado  :)

Edit: Aplicada la correcion de Wadk
Título: Re: Cambiar el color del sprite (GM8)
Publicado por: soccer2008 en Abril 13, 2010, 02:04:21 AM
Mira esto: http://www.comunidadgm.org/index.php?topic=11171.0 (http://www.comunidadgm.org/index.php?topic=11171.0)
Título: Re: Cambiar el color del sprite (GM8)
Publicado por: Momfus en Abril 13, 2010, 02:17:55 AM
No me ha funcionado, lo aplique como me has dicho y no paso nada..alguna ayudita?
Título: Re: Cambiar el color del sprite (GM8)
Publicado por: Wadk en Abril 13, 2010, 02:37:39 AM
Creo que Silver_Light tuvo un peque?o error, en step deber?a ser:
switch(color)
{
  case 1: image_blend = c_white; break;
  case 2: image_blend = c_red; break;
  case 3: image_blend = c_green; break;
  case 4: image_blend = c_blue; break;
}

Y en create, la variable puede ser asignada a 1 en lugar de -1, porque c_white es el valor por defecto de image_blend y no cambia el sprite en absoluto.
Título: Re: Cambiar el color del sprite (GM8)
Publicado por: soccer2008 en Abril 13, 2010, 05:07:12 AM
http://www.comunidadgm.org/index.php?page=verdescargas&accion=descargaD&download_id=1372 (http://www.comunidadgm.org/index.php?page=verdescargas&accion=descargaD&download_id=1372)
Título: Re: Cambiar el color del sprite (GM8)
Publicado por: Momfus en Abril 15, 2010, 09:41:57 PM
Prob? tambi?n la correci?n y tampoco funcion?, tambien trat? lo del documento ese que soccer2008 puso el link, pero tampoco..porque es para GM5.

Alguna ayudita para un pobre idiota como yo?
Título: Re: Cambiar el color del sprite (GM8)
Publicado por: Killer en Abril 15, 2010, 10:17:30 PM
La ?nica manera de que el c?digo de Silver_light (junto la correcci?n de Wadk) no te sirva es si estas dibujando al personaje manualmente. Checa si tienes algo en el evento Draw.

Edit: Confirmado, estas dibujando el personaje manualmente. Cambia la accion de dibujar sprite por este c?digo:

draw_sprite_ext(sprite_index,-1,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha);

Es un poco m?s de lo que en realidad necesitas, pero es mejor si vamos a lo seguro.
Título: Re: Cambiar el color del sprite (GM8)
Publicado por: soccer2008 en Abril 16, 2010, 03:19:53 PM
Usa esta funci?n: draw_sprite_stretched_ext, saludos XD XD XD
Título: Re: Cambiar el color del sprite (GM8)
Publicado por: Momfus en Abril 18, 2010, 01:23:07 AM
Ahi esta! Gracias Killer, Wadk y a Soccer especialmente por ayudarme con esto...