Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: carry en Diciembre 16, 2014, 06:37:54 PM

Título: Desactivar instance
Publicado por: carry en Diciembre 16, 2014, 06:37:54 PM
Buen dia a todos, como puedo desactiva dos instances que no se muestren en pantalla y cuando esten en pantalla vuelvan y se activen! espero que me entiendan.

Yo antes utilizaba este codigo, pero me las desactiva todas y lo que necesito es desactivar y activar solo 2!

instance_deactivate_region(view_xview[0],view_yview[0], view_wview[0], view_hview[0], false, true);
instance_activate_region(view_xview[0],view_yview[0],view_wview[0], view_hview[0], true);
Título: Re:Desactivar instance
Publicado por: Iros en Diciembre 16, 2014, 08:18:07 PM
¿Probaste con instance_desactivate_object() e instance_activate_object()?
Título: Re:Desactivar instance
Publicado por: p34 en Diciembre 16, 2014, 08:23:11 PM
Lo que podrías usar es un objeto controlador que te guarde las posiciones de los 2 objetos que quieres desactivar.

Algo así como:
En el objeto controlador
//En Step
if(v_obj1 = false)
{
if(obj_1.x < view_xview[0]+0 or obj_1.x > view_xview[0]+view_wview[0] or obj_1.y < view_yview[0]+0 or obj_1.y > view_yview[0]+view_hview[0])
{
   v_obj1 = true;
   xx1 = obj_1.x;
   yy1 = obj_1.y;
   instance_deactivate_object(obj_1);
}
}
else
{
if((xx1> view_xview[0]+0 and xx1 < view_xview[0]+view_wview[0]) and (yy1 >view_yview[0]+0 and yy1 < view_yview[0]+view_hview[0]))
{
instance_activate_object(obj_1);
v_obj1 = false;
}
}


y en create
//Declaramos las variables
v_obj1 = false; //Esta es una bandera para saber si esta desactivado el objeto
xx1 = 0; //variable x cuando lo guardemos
yy1 = 0;//variable y


Y haces lo mismo para el otro objeto pero cambias las variables "1" por un "2" o como gustes

Si sólo son pocos objetos podría ser así. Si son más no sé si afecte al juego después de muchos. (O que te complique mucho la programación).

Espero te sirva :)
Título: Re:Desactivar instance
Publicado por: carry en Diciembre 19, 2014, 05:18:18 AM
Gracias amigo =)
Me sirvio!