Diciembre 24, 2014, 08:34:35 AM Ultima modificación: Diciembre 24, 2014, 06:10:35 PM por Mataca
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.

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!  :)

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.

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.

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.
Una persona puede equivocarse mil veces pero solo fracasa cuando le echa la culpa a otro por sus errores

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.