Septiembre 05, 2013, 04:19:46 AM Ultima modificación: Septiembre 06, 2013, 01:04:59 AM por Iros
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.

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:


// 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

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:

draw_set_alpha(.5);
draw_rectangle(x1,y1,x2,y2,0);  //Rectangulo 1
draw_set_alpha(1);//Fin evento draw


ejemplo 2:

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

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 ^^

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  ;)

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]