Septiembre 28, 2015, 10:26:01 PM Ultima modificación: Septiembre 29, 2015, 06:00:18 PM por RelioXx
Hola comunidad, la verdad es que estoy aprendiendo bastante GM y estoy bastante satisfecho llevo bastante con mi juego y muy bien, pero tengo una duda y es que queria poner una pausa a mi juego, he visto varios metodos que me costaron pero todos  sin resultado, el que por asi decirlo mejor me salio es este:
https://www.youtube.com/watch?v=pXvRcPObUbU
y todo bien pero el juego no se me pausa aun poniendo el comando ese, me aparece todo menos que no se me para los objetos, justo lo mas importante.
Mi duda es, si hay alguien que haya visto ese video sabe como solucionarlo o algún método fácil y chulo que pueda enseñarme  ;D.
RelioXx99

Para pausar un juego sólo se necesita desactivar las instancias, y eso es lo que hace la función que se muestra en el video instance_deactivate_all. No hay mejor método para pausar que esta función. Si el juego no se pausa debe ser porque tienes un error, pero sin ver como es tu código y en donde se usa, es difícil dar una indicación exacta de cómo solucionarlo.

Al pulsar el botón de pausa se crearía un objeto "Pausador" que desactivaría todos los objetos del escenario (instance_deactivate_all(true), que desactiva todo menos el propio Pausador).
Al pulsar el botón de salir de la pausa, Pausador es destruido y se reactiva todo (instance_activate_all()).
Mientras que este Pausador en acción, no se verán el resto de objetos. Puedes hacer que aparezca un mensaje de pausa, crear un surface para que se muestre los elementos del juego, hacer un inventario en el que gestionar recursos del jugador o lo que quieras.
Eso si, este sistema tiene algunos defectos, como, por ejemplo, que no puedes desactivar las partículas, por lo que seguirán moviéndose aunque todo lo demás en el escenario este desaparecido.

Las particulas se pueden desactivar o pausar usando la funcion part_system_automatic_update en caso que las uses en tu juego, consulta el manual que lo explica bien.

Donde deberia ponerlol o de instance_deactivate_all.
Lo logico seria ponerlo asi no?
instance_deactivate_all.
if (global.pause == 0)
{
    global.pause = 1;
}
else
{
    global.pause = 0;
}

y eso no me va
RelioXx99

#5 Septiembre 29, 2015, 05:43:00 PM Ultima modificación: Septiembre 29, 2015, 06:38:17 PM por Clamud
El código debería ser así
[gml]
if( global.pause = 0 )
{
    global.pause = 1;
    instance_deactivate_all(1);
}
else
{
    global.pause = 0;
    instance_activate_all();   
}
[/gml]

Puedes usar instance_activate_region en lugar de instance_activate_all.