Hola a todos, volviendo sobre este crokis:
(http://www.subeimagenes.com/img/crokis-977035.jpg)
Lo que estoy intentando hacer es que cuando la doble colisión se haga, se obscurezca la ventana y aparezca el cartel de ENHORABUENA.
Lo que tengo hasta el momento es esto:
Objeto metaFinal1
CREATE:
//NIVEL 1
global.finNivel1_rojo = 0;
global.finNivel1_verde = 0;
//Configuracion inicial
global.Score = 0;
global.draw_final1 = false; //Ventana final oculta
STEP:
//Están los dos tocando la meta
if global.finNivel1_rojo = 1 and global.finNivel1_verde = 1{
//NIVEL SUPERADO
global.draw_final1 = true;
}
//Si tocan la meta cambiar variable a 1 sino 0
if place_meeting(obj_RedPlayer.x, obj_RedPlayer.y, obj_metaRoja){
global.finNivel1_rojo = 1;
}else{
global.finNivel1_rojo = 0;
}
if place_meeting(obj_GreenPlayer.x, obj_GreenPlayer.y, obj_metaVerde){
global.finNivel1_verde = 1;
}else{
global.finNivel1_verde = 0;
}
//Enhorabuena
if global.draw_final1 = true{
draw_set_color(c_black);
draw_set_alpha(0.35);
draw_rectangle(0,0,640,480,0);
draw_set_alpha(1);
draw_set_alpha(c_white);
draw_set_halign(fa_center);
draw_text(320,140,"ENHORABUENA");
}
No se porque no se me oscurece ni aparece nada.
¿Alguna solución?
Gracias y Saludos !!
He conseguido que funcionara, pero ¿existe alguna otra forma?
En el objt_metaFinal1.
STEP
//Están los dos tocando la meta
if global.finNivel1_rojo = 1 and global.finNivel1_verde = 1{
//NIVEL SUPERADO
global.draw_final1 = true;
instance_create(0, 112, obj_mostrarEnhorabuena);
}
Y en otro obj_mostrarEnhorabuena.
DRAW
//Enhorabuena
if global.draw_final1 = true{
draw_set_color(c_black);
draw_set_alpha(0.35);
draw_rectangle(0,0,640,480,0);
draw_set_alpha(1);
draw_set_alpha(c_white);
draw_set_halign(fa_center);
draw_text(320,140,"ENHORABUENA");
}
Podes hacer tambien que se valla oscureciendo con el tiempo de esta manera:
CREATE
alfa=0
DRAW
if alfa<1 {alfa+=0.01}
draw_set_color(c_black);
draw_set_alpha(alfa);
draw_rectangle(0,0,640,480,0);
if alfa>=1
{
draw_set_color(c_white);
draw_set_halign(fa_center);
draw_text(320,140,"ENHORABUENA");
}
No necesitas crear un objeto nuevo, tu error es bastante sencillo de explicar, las funciones draw_ pueden ser utilizadas exclusivamente en el evento Draw, tú primer código trata de dibujar en Step.