Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Missy en Agosto 09, 2017, 07:47:50 PM

Título: [RESUELTO] Efecto parpadeo: Draw Rectangle
Publicado por: Missy en Agosto 09, 2017, 07:47:50 PM
He creado un rectangle con la opacidad en 0.5
draw_set_alpha(0.5)

pero quiero que al presionar un botón haga un efecto de desvanecimiento y de aparición, algo como esto:

(http://i.imgur.com/CKulPQv.gif)

Sería como un efecto parpadeo.

he probado con timers pero no he conseguido hacer un efecto parecido
Título: Re:Efecto parpadeo: Draw Rectangle
Publicado por: bygdle en Agosto 10, 2017, 03:09:06 AM
Un ejemplo rápido adjunto. Seguro puede optimizarse más, pero fue lo primero que se me ocurrió XD.
Título: Re:Efecto parpadeo: Draw Rectangle
Publicado por: Missy en Agosto 10, 2017, 01:16:39 PM
Cita de: NiuWeb en Agosto 10, 2017, 03:09:06 AM
Un ejemplo rápido adjunto. Seguro puede optimizarse más, pero fue lo primero que se me ocurrió XD.

Holaa, el caso es que quería hacer un efecto parpadeo, es decir, algo seguido, que cuando se de click se desvanezca y vuelva el alpha al 0.5 como en el GIF que pasé, he intentado hacerlo con el código que me pasaste modificando un par de cosas pero el efecto pasa demasiado rápido y no consigo hacer que funcione bien
Título: Re:Efecto parpadeo: Draw Rectangle
Publicado por: Clamud en Agosto 10, 2017, 09:48:35 PM
A ver si entendí bien, el estado normal debe ser con la pantalla oscurecida (que se consigue dibujando un rectángulo transparente), solo la transición se debe ver más iluminada (al bajar la opacidad del rectángulo). ¿Es así?
Título: Re:Efecto parpadeo: Draw Rectangle
Publicado por: Missy en Agosto 10, 2017, 11:34:43 PM
Cita de: Clamud en Agosto 10, 2017, 09:48:35 PM
A ver si entendí bien, el estado normal debe ser con la pantalla oscurecida (que se consigue dibujando un rectángulo transparente), solo la transición se debe ver más iluminada (al bajar la opacidad del rectángulo). ¿Es así?

Sería algo como esto: Está en alpha 0.5 por defecto (Mitad de transparencia) y cuando das click al botón comienza el efecto "parpadeo"
entonces baja a alpha 0 poco a poco y luego seguidamente sube a 0.5, (Algo como un efecto rebote)
En plan como un destello, no sé si me explico
Título: Re:Efecto parpadeo: Draw Rectangle
Publicado por: nonoroman en Agosto 11, 2017, 12:08:47 AM
Segun entendi.

Cuando pinches.con una variable que se ponga en true. Quitale a image_alpha -= 0.05
Mientras sea mayor a 0.

Y cuando sea = 0. Entonces pasale a alpha 0.5;

No se si me he explicado. Suerte.  ;D
Título: Re:Efecto parpadeo: Draw Rectangle
Publicado por: Missy en Agosto 11, 2017, 01:30:54 AM
Cita de: nonoroman en Agosto 11, 2017, 12:08:47 AM
Segun entendi.

Cuando pinches.con una variable que se ponga en true. Quitale a image_alpha -= 0.05
Mientras sea mayor a 0.

Y cuando sea = 0. Entonces pasale a alpha 0.5;

No se si me he explicado. Suerte.  ;D

Eso intenté, pero no me sale
Título: Re:Efecto parpadeo: Draw Rectangle
Publicado por: Zapdos43 en Agosto 11, 2017, 01:16:40 PM
Creo que podrías hacer lo siguiente:

Evento Create:
parpadeo = 0; // variable para controlar las distintas fases del efecto
alpha = 0.5; // transparencia inicial

Evento Draw:
draw_set_alpha(alpha);
draw_rectangle(x1,y1,x2,y2,false);

Evento Step:

if mouse_check_button_pressed(mb_left)
{
if (parpadeo == 0)
{
   parpadeo = 1
}
}

if (parpadeo == 1)
{
alpha -= 0.05; // hacer que alpha llegue a 0
if (alpha <= 0)
{
  parpadeo = 2;
}
else if (parpadeo == 2)
{
  alpha = 0.5; // regresamos a la transparencia inicial
parpadeo = 0;
}

Título: Re:Efecto parpadeo: Draw Rectangle
Publicado por: Missy en Agosto 12, 2017, 05:10:52 PM
¡Gracias!
Solucionado.