Mayo 22, 2020, 04:20:14 PM Ultima modificación: Mayo 23, 2020, 12:04:21 AM por miguel1998
Hola a todos, quiero que el juego detecte cuando una un instancia esta fuera de la cámara
se hace con alguna función dentro de GM o es un método mas complejo?

Nada de complejidades (bueno admenos para mi)

Puedes probar utilizando el siguiente codigo en el objeto que quieras:
[gml]
/// Event Create
OutView = false;

/// Event Step
// Si se sale de la view horizontalmente
if ((x > view_xview+640) or (x < view_xview))
  OutView = true;
  else
  OutView = false;

// Si se sale Verticalmente
if ((y < view_yview) or (y > view_yview+480))
  OutView = true;
  else
  OutView = false;
[/gml]

Ese es un metodo totalmente simple para verificar si se sale por algun lado de la vista, aunque tambien puedes verificarlo usando uno de los Event Other

Gracias por tu respuesta sin duda la voy a aprovechar, pero en el código hay algo que me genera duda.
Si la instancia se sale horizontalmente la variable outView se establecería en true pero al no salirse verticalmente se establecería en false, ¿no causaría un conflicto en el programa al no saber si establecer la variable en verdadera o falsa?

[gml]
///is_out()

var OutView;

if x < view_xview[0]
|| x >= view_xview[0]+view_wview[0]
|| y < view_yview[0]
|| y >= view_yview[0]+view_hview[0]
    OutView = true;
else OutView = false;

return OutView;
[/gml]

modo de uso:
[gml]
if is_out() {
    show_debug_message("esta fuera de camara");
    }
else {
    show_debug_message("esta dentro de camara");
    }
[/gml]

no hay conflicto que valga xd

PD: esto lo pones en un SCRIPT nuevo con el nombre "is_out"
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]