Hola, me gustaria poner un boton pause a la partida, asta aqui es facil, pones un objeto que te lleve a otra room y ya, pero no quiero eso, debido a que si hay muchas rooms se relentiza el juego, queria saber si hay alguna manera de sustituir lo todo lo que hay en la room, por un menu de pause, no se si me explico.
El tema esta en que si puedo cambiar un grupo de objetos por otro en la misma room.

Pongamos que el primer grupo esta el protagonista, cuatro flechas en pantalla para moverlo y el boton de pausa, y en el segundo esta el boton de continuar la partida, el de reiniciar o el de abandonar. Hay alguna forma de que pulsando el boton de pause se sustituya todo un grupo por el otro?

Podrías hacer que cuando presionas el botón de pausa se active un objeto que tenga el dibujo de tu menú de pausa y a la misma vez se desactiven todas las otras instancias, sería algo así:

En la acción de presionar el botón de pausa:
[gml]
instance_activate_object(objMenuPausa);
with (objMenuPausa) {
     instance_desactivate_all(true);
}
[/gml]

Lo que hace la primer línea es activar el objeto que dibuja y tiene todas las acciones del menú, la segunta y tercer línea dice que "Con el objeto objMenuPausa desactivar todas las instancias menos la mia (por eso true)".

En el objMenuPausa tendrías que dibujar los botones y comprobar por coordenadas si se presionó sobre un botón o no, eso se hace comprobando 4 coordenadas con respecto a las 2 coordenadas del mouse, es decir las coordenadas de los 4 puntos de cada opción que queres (2 para X (x min y x max) y 2 para Y (y min e y max)).

Una pregunta, es "instance_desactivate_all" o "instance_deactivate_all"?

Es que usando el tuyo me salta un error, i lo e escrito manual y me sugiere ese

Es instance_deactivate_all, por ahí meto mal el dedo.

#4 Diciembre 18, 2014, 07:48:36 PM Ultima modificación: Diciembre 18, 2014, 07:51:49 PM por chetuu16
Lo siento iros, pero no consigo que funcione :-\

He hecho un objeto, con un sprite, y le he dicho que con Left Pressed, Exectue a piece of code, le e asignado ese codigo
instance_activate_object(obj_Juego_Pausado);
with (obj_Juego_Pausado) {
     instance_deactivate_all(true);
}


Y no funciona, me puedes decir que he hecho mal?? :(

Gracias

Edito: Si donde pone with (obj_Juego_Pausado) pongo el nombre del objeto que pulso si que funciona, pero si no no

Acá te dejo un ejemplo:

https://www.dropbox.com/s/l7qiusehow65unz/ejemploMenu.gmz?dl=0

Para agregar más botones tendrías que dibujarlos con draw_sprite() o dibujarlos con draw_text().

Tenes que tener en cuenta las coordenadas donde ponés los botones para poder comprobarlas cuando haces clic.

Otra alternativa sería que a demás de habilitar el objMenuPausa (como lo puse en el ejemplo) se habilitaran los objetos de los botones, es el mismo procedimiento.