Quiero hacer un botón de atras, entonces por ejemplo estoy en el menu, de ahi paso a opciones y hay un botón de ir a atras. Pero el room menu es el primero y el opciones el quinto. Entonces me lleva al cuarto room cuando presiono atras. De que manera puedo checar cual es el ultimo room visitado y cuando le de atras me diriga a ese.
Se me ocurre que podrías crear un objeto persistente con una variable anterior donde se almacenará el índice de la sala de la que se provenía. Esto lo podrías lograr poniendo en el <create> del objeto persistente:
[gml]
anterior = -1;
[/gml]
Y cuando quieras ir a la room de opciones, haces esto:
[gml]
objeto_persistente.anterior = room;
room_goto(opciones);
[/gml]
Y por último, en el botón de volver de la room de opciones:
[gml]
if anterior >= 0 //Si se ha seleccionado una sala, porque el valor por defecto de la variable es -1, y los índices de rooms son positivos
room_goto(anterior);
[/gml]
Bien, ya cree el objeto persistente. Escribes que cuando quiera ir al room opciones ponga ese código, serian en el botón opciones no? y en el de volver al menu que seria en el botón atras?
El primer código, como lo mencioné, va en el evento <create> del objeto persistente.
El segundo, en cualquier objeto cuando quieras ir a la sala de opciones.
El tercero, en el botón de opciones, en el evento de mouse, supongo, o en donde quieras "volver" a la sala enterior.
No le entiendo a tu explicación :'( puse el segundo en cualquier parte y tirar error.
Tienes el objeto persistente en la sala cuando usas ese código, ¿Cierto?
Si, y me tira error cuando inicio me dice esto:
[spoiler]___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Create Event
for object O_Universo_matematico:
Variable O_Universo_matematico.objeto_persistente(100002, -2147483648) not set before reading it.
at gml_Object_O_Universo_matematico_CreateEvent_1 (line 1) - objeto_persistente.anterior = room;
############################################################################################[/spoiler]
Revisa bien lo que tienes en el <create> del objeto persistente. Creo que has puesto lo que no es, no te digo más.
Además, tu objeto se llama O_Universo_matematico, y estás intentando acceder a su variable como objeto_persistente, objeto que no existe.
Pero si tengo un objeto llamado objeto_persistente. En el create del objeto persistente tengo lo que me pusiste.
Revise todo y sigue marcando el error:
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Create Event
for object O_Universo_matematico:
Unable to find any instance for object index '29'
at gml_Object_O_Universo_matematico_CreateEvent_1 (line 1) - O_Persistente.anterior = room
############################################################################################
ya se que dice O_Persistente, asi lo tengo el objeto. Los dos objetos estan en el room menu entonces no se que falla.
ahora, el error es diferente :-\
Ese error significa que no existe ninguna instancia del objeto con el índice 29, o sea, el objeto O_Persistente. Revisa bien.
Podrías, también, intentar poner una room atrás de la que tienes para probar el código, y en esa room anterior (podría ser también la primera room del juego), y en ésta poner el objeto persistente.
El O_Persistente esta bien, en el evento create tengo esto: anterior = -1;
En realidad tengo una anterior que es R_Cargando entonces puse ahi el persistente y funciona correctamente :DDDDDD
Muchisimas gracias Niu :D
Vuelvo a abrir el tema, me di cuenta que no funciona exactamente como lo requiero.
El problemas es que me regresa al menu siempre, lo que quiero es que regrese el ultimo. Por ejemplo: Estoy en el menu, de ahi paso a otro room1 y despues a otro room2. Entonces en el room2 le presiono ir atras, este deberia mandarme a room1, pero manda a menu.
La verdad no entiendo cuál será el problema, así que decidí hacer un editable con los códigos que te di, revísalo y verifica que todo anda bien. El editable lo he probado y funciona.
Esta bien, cuando pueda lo pruebo gracias.
Lo probe y nunca pasa del naranja al verde. Solo pasa de verde a azul claro, o naranja a azul claro.
La primera y la segunda sala (verde y naranja) son, hipotéticamente hablando, las salas a donde se puede ir al menú de opciones, y la tercera sala (gris) es el menú de opciones.
Con el botón azul (en la verde y naranja) vas a la sala de opciones, y con el rojo vas a la siguiente sala. Desde el menú de opciones, si llegaste presionando el botón azul de la sala verde, al presionar el botón volverás a ésta, lo mismo con la naranja.
Hubiera sido mas fácil los botones con algún texto. :-[
Entonces si por ejemplo tengo otra room de ayuda ¿debo de hacer otro objeto persistente y todo eso?