Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Problema con room de pausa - Obtener habitaciones como variables  (Leído 98 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado YackyMod

  • Visitante
  • *
  • Puntos: 4
  • Mensajes: 1
    • Ver Perfil
Buenas. Tengo un problema en GM Studio desde hace días.

Intento crear un menú de pausa que tenga los botones de guardar, cargar, configuraciones... Vamos, lo típico.

Lo que pasa es que para hacer esto intento lo siguiente:

-Crear una room llamada "pantalla_pausa" y un objeto persistente llamado "obj_pausa" el objeto pausa tiene 2 eventos. Create, que declara y pone la variable pausa en 0, y un evento al presionar el botón "escape"

Lo que intento es que al presionar escape este evento analice si la variable pausa está en 0. En ese caso, tomará el nombre de la habitación actual y la guardará en una variable llamada "sala" y lo hago de la siguiente manera:

if pausa=0

var sala=asset_get_index(string(room))

y al presionar nuevamente escape, sucedería esto.

else

if pausa=1

room_goto(sala)


pero nunca funciona. Agradezco tú ayuda de antemano. Aquí está el código completo para mayor exactitud.

if pausa=0
    {
        var sala=(string(room));
        audio_play_sound(sd_button,1,false)
        pausa=1
        room_goto(pantalla_pausa)
    }

else

if pausa=1
    {
        room_goto(sala)
        audio_play_sound(sd_button,1,false)
        pausa=0
    }

Si tienen alguna otra manera de hacer esto, es igualmente bienvenida.

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado yottaomi

  • Habitual
  • *
  • Puntos: 57
  • Mensajes: 31
    • Ver Perfil
Respuesta #1 en: Agosto 13, 2019, 03:29:41 am
Espero haber entendido bien tu problema.
Esto lo que hace es que al pulsar (escape) te lleve a una (room) a la que llamaremos (rm_pausa), y una vez allí, al pulsar de nuevo (escape), te devuelva a la última (room):

-obj_persistente-
Lo primero crea un (objeto) por ejemplo, obj_persistente.
Clica en la casilla (persistent)
Y sitúalo en la primera (room) para que funcione desde el comienzo.

En el evento "Create":

//Crea la variable global:
global.ultima_room = 0;      //Guardará la última (room) que hayas estado antes de ir a la de pausa al pulsar (escape).


-obj_jugador-

En el evento "Key_press(escape)", o sino en el "Step" lo que prefieras:

global.ultima_room  = room;     //Guarda la (room) actual
room_goto(rm_pausa);              //Y te lleva a la (room) a la que he llamado (rm_pausa)


-obj_pausa-
Sitúalo en (rm_pausa).

Y de nuevo en "Key_press(escape)" o en "Step":
room_goto(global.ultima_room);     //Te lleva a la última (room) en la que hayas estado