Hola chicos, me gustaría usar una imagen con degradado para cubrir toda la pantalla y que con transparencia, diera un efecto como el que se consigue en photoshop, (el overlay o el multiply). ¿Alguien sabría como hacerlo?

#1 Septiembre 22, 2018, 04:44:24 AM Ultima modificación: Septiembre 22, 2018, 05:10:21 AM por Clamud
En el evento Draw GUI, usa la función gpu_set_blendmode o gpu_set_blendmode_ext
https://docs2.yoyogames.com/source/_build/3_scripting/4_gml_reference/drawing/gpu/gpu_set_blendmode.html
y dibuja la imagen estirada para cubrir toda la pantalla
[gml]
w = display_get_gui_width();
h = display_get_gui_height();
draw_set_blend_mode(bm_add);
draw_background_stretched_ext(gr, 0,0, w,h, c_white,alpha);
[/gml]
(GMS1: draw_set_blend_mode)
(GMS2: gpu_set_blendmode)

Ejemplo en GMLive

Las funciones "draw_background" pasaron a mejor vida en GMS2.

Lo más sencillo es utilizar un blend mode:
gpu_set_blendmode_ext(bm_one,bm_inv_src_color)
draw_sprite(overlay,0,0,0)
gpu_set_blendmode(bm_normal)


Si ese no es el efecto que buscas, quizás lo que estás buscando es una Shader.
En el post #12 de este foro publican un archivo con la Shader en acción:
http://gmc.yoyogames.com/index.php?s=0a90c7492f06d8f03b3052906519325c&showtopic=690092

Saludos