Hola Comunidad,

Volviendo al ruedo del desarrollo eventual de juegos, se me presenta una nueva pregunta. A ver si alguien me puede ayudar.

Quiero lograr un efeecto de fundido ó saturación: desde blanco a los colores por defecto del sprite, he probado con:

image_blend=make_color_hsv(x,x,x);

y con:

image_blend=make_color_rgb(x,x,x);

donde "X" son valores desde 0 a 255, pero no logro lo que quiero.

Gracias de antemano amigos  8)


#1 Febrero 16, 2014, 07:15:39 PM Ultima modificación: Febrero 16, 2014, 07:26:07 PM por vampy09
Algo como esto:
Primero creamos un script y lo nombramos scr_color

//argument0 es la cantidad maxima
//argument1 es la cantidad actual

var colcolcol;
colcolcol=255/argument0*argument1
return make_color_rgb(colcolcol,colcolcol,
colcolcol);

Este script retorna un color de entre blanco y negro. Esto puede ser modificado o tu necesidad.

Ejemplo de uso:

draw_sprite_ext(sprite_index,image_index,x,y,1,1,0,scr_color(100,health),1);

Esto hace que entre mas health baje, el sprite se vuelva mas oscuro.
Saludos !
The next best thing to knowing something,
is knowing where to find it.

He intentado implementar tu script, pero sin resultados positivos..., realmente lo que necesito es que un sprite aparezca totalmente blanco y paulatinamente vaya tomando sus colores originales.¿Alguna otra sugerencia?

Gracias por tu ayuda vampy  8)

Creo que el blanco no se puede usar con image_blend.

Probablemente yo necesite hacer lo mismo en mi juego. Buscando en GMC, encintré este ejemplo con "truco", en donde usan la función fog

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

if (flashWhite) {
  d3d_set_fog(1, c_white, 0, 0);
  draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, c_white, image_alpha);
  d3d_set_fog(0, c_white, 0, 0);
}


Ahi mencionan algo interesante que no sabía. Las funciones d3d se pueden usar en 2D, aunque no se comportan igual porque no hay un buffer de profundidad y la proyección es distinta.  Así que puedes usar el código de arriba en tu juego 2D, usando una función para 3D.

No lo he probado y no sé qué tal funcione, probablemente jugando con el alpha controles qué tan blanco se ve.

Gracias penumbrita  :D  en cuanto lo pruebe te digo algo,