Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: [SOLUCIONADO] Alpha diferente en un mismo objeto  (Leído 804 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Iros

en: Septiembre 05, 2013, 04:19:46 am
Buenas!!, quizás es algo demasiado básico, pero no se hacerlo >.<

La cosa es que quiero dibujar, por ejemplo, un rectángulo con alpha = .5, pero a la vez ese alpha no modifique el alpha de los demas draw que tengo dentro del mismo objeto. ¿Cómo se puede hacer para que solo modifique el alpha de X draw y no de todo el draw?

Desde ya, muchas gracias.
« última modificación: Septiembre 06, 2013, 01:04:59 am por Iros »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado fab62

  • Asiduo
  • *
  • Puntos: 119
  • Mensajes: 118
  • Sexo: Masculino
    • Ver Perfil
Respuesta #1 en: Septiembre 05, 2013, 07:20:49 am
Tendrías que asignar en cada parte que dibujes un draw_set_alpha(Alpha), ya que si asignas uno solo, el game maker lo reconoce como si todos los dibujos que realiza el objeto tienen que tener sólo ese alpha, asi que por ejemplo:

Código: [Seleccionar]
// dibujas un rectangulo con un alpha dado por alpha1
draw_set_alpha(alpha1)
draw_rectangle(x1,y1,x1+ancho,y1+alto,0)

// dibujas otro rectangulo con un alpha dado por alpha2
draw_set_alpha(alpha2)
draw_rectangle(x2,y2,x2+ancho,y2+alto,0)

Asi sale :)... espero que te haya ayudado en algo XD

El ayer es un recuerdo, el mañana un pensamiento, es el ahora en donde existo y vivo para ser feliz :D
 


Desconectado romon_28

Respuesta #2 en: Septiembre 05, 2013, 02:17:50 pm
cuando usas un "draw_set_alpha(alpha) " afecta a todos las imagenes que siguen por debajo del metodo:

ejemplo:

 draw_set_alpha(alpha1);
 draw_rectangle(x1,y1,x2,y2,0);  //Rectangulo 1
 draw_rectangle(x1,y1,x2,y2,0)  //Rectangulo 2

"Rectangulo 1" va a ser afectodo por el metodo, asi como el "Rectangulo 2" y los demas dibujos que sigan.

para solocionar el problema te recomiendo que cuando uses el "draw_set_alpha(alpha) " al final del evento draw pone: "draw_set_alpha(1) ;"

ejemplo 1:
 
Código: [Seleccionar]
draw_set_alpha(.5);
 draw_rectangle(x1,y1,x2,y2,0);  //Rectangulo 1
 draw_set_alpha(1);//Fin evento draw

ejemplo 2:

Código: [Seleccionar]
draw_set_alpha(.5);
 draw_rectangle(x1,y1,x2,y2,0);  //Rectangulo 1
 draw_set_alpha(.8);
 draw_rectangle(x1,y1,x2,y2,0)  //Rectangulo 2
 draw_set_alpha(1);//Fin evento draw

 


Desconectado Iros

Respuesta #3 en: Septiembre 05, 2013, 11:21:10 pm
Gracias por las respuestas, pero, ¿alguien sabe por qué se altera el alpha de otro objeto? Es decir, en un objeto defino X alpha, en otro totalmente diferente sin parent ni nada creo un rectángulo y el mismo se ve alterado por el cambio de alpha del primer objeto :S

Agradezco las respuestas que dieron ^^

 


Desconectado darius

  • Habitual
  • *
  • Puntos: 140
  • Mensajes: 96
  • Sexo: Masculino
  • darius3 games n_n
    • Ver Perfil
Respuesta #4 en: Septiembre 06, 2013, 01:02:22 am
se supone que siempre debes de especificar el alpha que vas a utilizar en cada draw event de cada objeto. los eventos se ejecutan por orden de instancias; si una instancia ejecuta draw_set_alpha(.5) las instancias que vayan después por defecto dibujarán con alpha 0.5, en cierta manera funciona de manera global.  :-[ espero haberme explicado...
salu2  ;)


Desconectado Iros

Respuesta #5 en: Septiembre 06, 2013, 01:04:18 am
La cosa es que en el create del objeto le ponía draw_set_alpha(1) y nada. En fin, lo dudo que ocupe la forma primitiva que estaba usando, mejor colorear el fondo a crear un rectángulo xD.

Gracias por las respuestas ^^

[SOLVED]