Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Mataca en Diciembre 24, 2014, 08:34:35 AM

Título: comando global[SOLUCIONADO]
Publicado por: Mataca en Diciembre 24, 2014, 08:34:35 AM
Tengo un problema con el comando global. Uso global.niveles, global.vibrar, global.sonido, etc. Los tengo configurados en un obj_globals.
Los puse en el primer room, para que carguen cuando empieza el juego. El problema es que cuando paso un nivel, si vuelvo al menu me reinicia todos los globals. O sea yo estoy en el nivel 3, ya desbloqueado el 2 y el 3, con el sonido en mute y sin vibrar, y me vuelve a bloquear los niveles 2 y 3, me vuelve el sonido y el vibrar, como si cargara los globals nuevamente.
Título: Re:comando global.
Publicado por: zHeMaa en Diciembre 24, 2014, 10:21:00 AM
Lo único que se me ocurre es que en el menú tengas puesto por ejemplo global.niveles = 1 en vez de global.niveles += 1 por ejemplo.

El primero hace que te ponga como nivel el 1, y el segundo hace que se le sume 1 al nivel actual.

Mira haber si es eso, si no deja el código donde crees que esta el problema, un saludo!  :)
Título: Re:comando global.
Publicado por: Mataca en Diciembre 24, 2014, 05:02:53 PM
Capaz no me explique bien. Lo que sucede es que yo tengo un comando global EQUIS, por ejemplo el del SONIDO. global.sonido = 1.
Esto lo carga en el menu apenas empieza el juego. Vas a un nivel, pones mute en el sonido por lo cual el global.sonido queda en 0, asi en los proximos niveles tambien arrancas con mute. El problema es que cuando vas al menu, a lo que en el menu esta el objeto en el cual carga los globales, vuelve a cargar el global.sonido = 1, asi como todos los comandos globales que modifique mientras jugué, y es como volver todo a 0. Si saco el objeto global del menu, hace que cuando vaya a cargar un global salte error, porque no existe tal global.
Título: Re:comando global.
Publicado por: Clamud en Diciembre 24, 2014, 05:38:35 PM
Si, la explicación resulta difícil de entender porque lo que manejas son variables y no comandos. Para que las variables no se reinicien al volver al menú principal escribe el código en el evento "Game start", así se ejecutará una sola vez en todo el juego.
Título: Re:comando global.
Publicado por: p34 en Diciembre 24, 2014, 06:02:40 PM
Haz la instancia persistente. (Solo marca la casilla) y que el codigo este en create o game start y NO en room start o step o cualquier otro.
Título: Re:comando global.
Publicado por: Mataca en Diciembre 24, 2014, 06:10:23 PM
Cita de: p34 en Diciembre 24, 2014, 06:02:40 PM
Haz la instancia persistente. (Solo marca la casilla) y que el codigo este en create o game start y NO en room start o step o cualquier otro.

Listo solucionado con lo de la instancia persistente. Muchas gracias.