Como indica el título busco la manera de poder llamar a un menú (sin teleportarme a otra room), en vivo, y que además el juego se quede pausado.

Después de mirar el foro, veo que en GameMaker Studio hay cosas que no funcionan (funciones) debido a la diferencia de versión, por lo tanto, agradezco que no me refiráis a ellas pues quedan obsoletas. (llevo  hora y media viendo ejemplos).

El tema del menú lo veo fácil de programar. La cosa es que el juego permanezca en pausa.

Pensando en la PAUSA: me horrorizo al sospechar que debería añadir una condicional a todos los objetos moviles del juego para que, si Pausa esta activada, se queden quietos, y si no, pues que sigan. Pero esto sería horroroso.

Alguna forma más humana?

Puedes sacarle una captura a la pantalla con código, desactivas todas las instancias y colocas de fondo la captura de pantalla, lo añades como background o sprite, obviamente el objeto que haga esto no deberá desactivarse  xD y mostrara el menu de pausa, luego cuando salgas de pausa, borras el fondo que creaste y re-activas todas las instancias.

Orgulloso veterano de CGM
El poder de hacer un buen juego esta en tus manos.

Algo sencillo (en ocasiones) es agregar una variable que indica si están pausadas o no, el fin es que si esa variable indica que está pausa el juego todas las instancias se detienen; así podrás mostrar los objetos e imágenes del menú. Cuando destruyas el menú vuelves a poner la variable indicando que el juego no está pausado.

Es lo que tenía en mente pero como hago para paralizar los objetos?

Imagina que una nave dispara, en el momento antes de que te toque el misil de la nave tu pausas el juego.

Tendrias que parar ambas cosas, y despues, que vuelvan a funcionar, pero empezarian a funcionar desde primeras osea que la nave lo mismo dispara de nuevo antes de que le tocara hacerlo, no se si me explico.

Hay algún comando para CONGELAR instancias?  Con desactivate lo que hacen es desaparecer.

No, no lo hay, por desgracia.
En muchos casos es suficiente que detengas la velocidad de desplazamiento y la animación del sprite y a la hora de volver a ponerlos en marcha le reasignas las velocidades.
Digo, en muchos casos.

En otros más específicos tienes que programar una serie de pasos tanto antes de pausarlos como antes de volver a ponerlos en marcha, como por ejemplo guardar algunos valores en variables "secundarias" :P
Es parte del trabajo de diseño y programación  ;)

Cita de: francordoba en Enero 27, 2013, 08:49:28 PM
El tema del menú lo veo fácil de programar. La cosa es que el juego permanezca en pausa.

Pensando en la PAUSA: me horrorizo al sospechar que debería añadir una condicional a todos los objetos moviles del juego para que, si Pausa esta activada, se queden quietos, y si no, pues que sigan. Pero esto sería horroroso.

Alguna forma más humana?

  Saludos makero francordoba:

   Lo siento, pero ese, amigo mío, es el pollo del arroz con pollo.  8)

   Bien difícil si lo que quieres es lograr instantaneidad. 


Cita de: knd144 en Enero 29, 2013, 06:24:39 AM
Es parte del trabajo de diseño y programación  ;)

  Como bien dice el makero knd144, desde el diseño del juego hay que ir teniendo en cuenta esa posibilidad.

  Siempre hacemos alusión al diseño de un juego, pero no recaemos aun en la importancia que este tiene. En él están definidas todas las funcionalidades que tendrá el juego, desde la forma de salvar, los gráficos, hasta cómo serán las pausas ("pause").

  Una forma que creo muy buena es colocar un objeto "control" que se encargará de todo el juego. En él estarán los menúes. Todos los objetos antes de ejecutar sus eventos "steps" comprobarán el valor de una variable del objeto "control". En caso de dicha variable indicar "pausa", o algo por el estilo, ninguno puede ejecutar los eventos "steps" correspondientes.

  Nota: cuando digo "steps" puedo referirme a cualquier otro, todo depende del juego y el tipo de pausa.  8)

  Espero sirva de algo...  ;D   


Vamos, que me espera una gran cruzada. Perfecto.

Estuve ojeando la web de yoyogames y efectivamente es como decís, variables secundarias e ir paso por paso. Y como en todo proyecto, saber de antemano qué es lo que se va a programar.

Gracias a todos por aclararme el sistema, y me parece lamentable que HOY en día, GameMaker no disponga de facilidades para hacer una simple pausa, o que disponga de menus funcionales, es que es de época de las cavernas.