Hola hola, aca mi duda:
Todos sabemos que el draw_set_color(c_white) dibuja la imagen normal y el c_black dibuja la misma imagen pero en negro.
Hay alguna forma de hacerlo al reves? osea que con c_white se dibuje la imagen pero en blanco respetando solo el alpha y no el color, y con c_black se dibuje normal?? Habr? alguna forma usando los blend_modes??

Gracias
        Ciberman
Cita de: CGM 2008CGM: Un poco mas serios, mejores Juegos.
Bienvenid@ a CGM. Recomenzamos desde cero, con un reglamento mas estricto, mejor definido y con mas ganas que nunca de hacer juegos con calidad comercial. El que avisa no es traidor: Leete las reglas si no quieres llevarte un capon makero.
Mercilessly!!
Plug-In para animaciones: http://ciberman.net/tweenline/

Pues no, pero hay scripts para dar "textura" a los sprites. Simplemente creas un quadro blanco con opacidad del 50% de sprite, y luego a la imagen para aclarar aplicas el siguiente script:

merge_sprite
[gml]//argument0=sprite
//argument1=subimage
//argument2=sprite form
//argument3=subimage of form
//argument4=append to a existing sprite
fspr=-1
if argument1=all
{
if sprite_exists(fspr) {sprite_delete(fspr)}
for (i=0;i<=sprite_get_number(argument0)-1;i+=1)
{
erase=surface_create(sprite_get_width(argument2),sprite_get_height(argument2))
surface_set_target(erase)
draw_clear_alpha(c_white,0)
draw_rectangle(0,0,sprite_get_width(argument2),sprite_get_height(argument2),0)
draw_set_blend_mode(bm_subtract)
draw_sprite(argument2,argument3,sprite_get_xoffset(argument2),sprite_get_yoffset(argument2))
draw_set_blend_mode(bm_normal)
surface_reset_target()
spr=surface_create(sprite_get_width(argument0),sprite_get_height(argument0))
surface_set_target(spr)
draw_clear_alpha(c_white,0.01)
draw_sprite(argument0,i,sprite_get_xoffset(argument0),sprite_get_yoffset(argument0))
draw_set_blend_mode(bm_subtract)
draw_rectangle(sprite_get_width(argument2),0,sprite_get_width(argument0),sprite_get_height(argument0),0)
draw_rectangle(0,sprite_get_height(argument2),sprite_get_width(argument2),sprite_get_height(argument0),0)
draw_surface(erase,0,0)
draw_set_blend_mode(bm_normal)
surface_reset_target()
if !sprite_exists(fspr) {fspr=sprite_create_from_surface(spr,0,0,sprite_get_width(argument0),sprite_get_height(argument0),0,0,0,0)}
else {temp=sprite_create_from_surface(spr,0,0,sprite_get_width(argument0),sprite_get_height(argument0),0,0,0,0) sprite_merge(fspr,temp)}
}
return fspr
}
else
{
erase=surface_create(sprite_get_width(argument2),sprite_get_height(argument2))
surface_set_target(erase)
draw_clear_alpha(c_white,0)
draw_rectangle(0,0,sprite_get_width(argument2),sprite_get_height(argument2),0)
draw_set_blend_mode(bm_subtract)
draw_sprite(argument2,argument3,sprite_get_xoffset(argument2),sprite_get_yoffset(argument2))
draw_set_blend_mode(bm_normal)
surface_reset_target()
spr=surface_create(sprite_get_width(argument0),sprite_get_height(argument0))
surface_set_target(spr)
draw_clear_alpha(c_white,0)
draw_sprite(argument0,argument1,sprite_get_xoffset(argument0),sprite_get_yoffset(argument0))
draw_set_blend_mode(bm_subtract)
draw_surface(erase,0,0)
draw_set_blend_mode(bm_normal)
surface_reset_target()
return sprite_create_from_surface(spr,0,0,sprite_get_width(argument0),sprite_get_height(argument0),0,0,0,0)
}[/gml]

Uso: merge_sprite(spritequadroblanco,0,sprite_index,image_index)
con esto, tu sprite se aclararia. Si no funciona, cambia el 0 por all.
Noka siempre responde a los temas con 0 respuestas ^^

mh.. muy buen script aunque lo veo medio dificil de implementar en lo que tengo hecho...
Cita de: CGM 2008CGM: Un poco mas serios, mejores Juegos.
Bienvenid@ a CGM. Recomenzamos desde cero, con un reglamento mas estricto, mejor definido y con mas ganas que nunca de hacer juegos con calidad comercial. El que avisa no es traidor: Leete las reglas si no quieres llevarte un capon makero.
Mercilessly!!
Plug-In para animaciones: http://ciberman.net/tweenline/

Hasta donde tengo entendido es imposible hacer una imagen completamente blanca usando blend modes...

Aunque por all? en la yoyo alguna vez vi que se pod?a hacer usando la neblina del 3d.
[gml]d3d_set_fog(1, c_white, 0, 0);
//Tu sprite
d3d_set_fog(0, 0, 0, 0);[/gml]

Espero que te sirva.