Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: mamaffia en Agosto 23, 2014, 05:38:55 PM

Título: Ir a la ultima room (jugada) - Resuelto
Publicado por: mamaffia en Agosto 23, 2014, 05:38:55 PM
Hola a todos, tengo un problema que seguramente para alguien con experiencia sea sencillo de resolver pero me tiene un poco confundido. El tema es así, en un juego donde hay supongamos 10 niveles para jugar, o sea, 10 diferentes rooms, y tenemos una número 11 que usamos como pantalla de "game over", cuál es la forma más práctica de que desde la room Game Over tocando cierto boton vaya a la última room jugada y no a la 10, no sé si es claro, yo supuse que GM tenía alguna función "last_room" o algo así que simplifique esto. Ayudaa
RESUELTO: ABAJO LA SOLUCION....
Título: Re:Ir a la ultima room (jugada)
Publicado por: Xizotono en Agosto 23, 2014, 06:40:18 PM
En el objeto jugador

CREATE:
global.ultimaroom = 0;

ROOM START (el rombo verde,esta por ahi) :
global.ultimaroom = room

En el evento del boton , al presionar
MOUSE (por ejemplo) :
room = global.ultimaroom

CABE ACLARAR QUE EL PJ NO DEBE EXISTIR EN LA PANTALLA GAMEOVER.

No se si funcionaria bien. Si lo de global.ultimaroom = room no te funciona yo lo haria con objetos independientes que marquen en que sala esta.
Título: Re:Ir a la ultima room (jugada)
Publicado por: venus en Agosto 23, 2014, 07:38:26 PM
Yo crearía un script o código que se ejecutara en el botón para volver con lo siguiente:

room_goto(room_last) o room_goto(room_previous)





No se cual de las dos es, así que prueba y nos comentas.
Título: Re:Ir a la ultima room (jugada)
Publicado por: venus en Agosto 23, 2014, 07:49:17 PM
Si eso no sirve prueba a hacer que cuando el personaje se cree (Osea, que pasa de room) se ejecute el siguiente código: global.ultima_room = room_get_name(room)

Si te das cuenta, en el room de game over el jugador no se crea, así que la variable global.ultima_room seguirá dándote el nombre da la última room donde el personaje se creó, que es el último nivel que el jugador jugó.


Lo único que te queda es poner esto en el botón o tecla que hay que pulsar para que el jugador vuelva al último nivel en el que estuvo: room_goto(global.ultima_room)

Título: Re:Ir a la ultima room (jugada) - Resuelto
Publicado por: mamaffia en Agosto 23, 2014, 08:25:11 PM
Son unos genios muchachos! mil gracias!... Está resuelto, hice todo como me dijeron pero por si alguien tiene el mismo problema detallo cual fue la solución paso por paso:

Mi juego no tiene un jugador que se mueva en la pantalla o que se meta en las rooms ya que se juega solo con tacto, así que cree un objeto sin sprite "obj_aqueroomir", el cual puse en todos los niveles jugables como me indicaron, o sea, menos en los menúes en todos. Dentro de este objeto hay un evento CREATE donde almacenamos la variable global.ultimaroom=0, y en el evento Room Start, que está en Other por si algún otro novato está leyendo, asignamos a la variable global.ultimaroom el valor de la room actual, es decir, global.ultimaroom=room. Luego de todo esto en la pantalla de Game Over, en mi caso es un boton "play again" que a su vez es un objeto, a este le di un evento de Mouse en el cual le ponemos: room_goto (global.ultimaroom). Y listo! GRACIAS A XIZOTONO Y VENUS que me ayudaron.