Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Shoto_reaper en Febrero 06, 2010, 02:31:50 PM

Título: Como guardar la posici?n del personaje al cruzar una puerta
Publicado por: Shoto_reaper en Febrero 06, 2010, 02:31:50 PM
Quiero que cuando mi personaje cruce una puerta,se guarde en alguna variable su posicion,para que cuando vuelva ,aparezca en ese punto.Explicadlo como si lo explicarais a un ni?o,que aun soy muy novato en esto  :-[
Título: Re: Como guardar la posici?n del personaje al cruzar una puerta
Publicado por: santkont en Febrero 06, 2010, 04:29:50 PM
Prov? con marcar en el objeto del personaje la casilla de persitente...

Si no es eso, explicate mejor.
Título: Re: Como guardar la posici?n del personaje al cruzar una puerta
Publicado por: Shoto_reaper en Febrero 06, 2010, 04:51:34 PM
He probado, y al volver a cruzar la puerta para regresar a la room0 desde la room1 el juego se vuelve loco y el personaje empieza a atravesar el suelo...
B?sicamente quiero algo como las tuber?as del Mario Bros(para que os hag?is una idea).Que entras en una,y te lleva a una habitaci?n,y puedes volver a trav?s de la misma tuber?a al anterior escenario y todos los personajes est?n como se hab?a quedado antes de meterte en la tuber?a.
Tambi?n prob? con persistent en la room, y funcionaba.El ?nico problema es que el personaje no mor?a.
Título: Re: Como guardar la posici?n del personaje al cruzar una puerta
Publicado por: Rodri_cyberdog en Febrero 06, 2010, 08:14:19 PM
Yo hice lo de las tuber?as y lo solucion? con una variable

Room Start Event
{
  Switch (var_exit)
  {
    case 0: //posici?n inicial
    case 1: //saltar a posici?n, ejemplo saliendo de un tubo
    case n: //n debes reemplazarlo por un n?mero... asi cuantas salidas quieras.
  }
}

Al ingresar a un tubo registras la variable en el personaje o en alguna instancia persistente. Y cuando vuelva al room debes programar por donde debe salir... Para ahorrar programaci?n yo creaba un objeto invisible que colocaba sobre los tubos en ambos rooms, eran c?rculos con un n?mero, por lo tanto si el room iniciaba y la variable var_exit era 1 mario saltaba a la posici?n del objeto a penas iniciaba el room y dejaba var_exit en 0 una vez que sal?a del tubo. Lo mismo con el 2, el 3, etc... la variable toma el valor si el personaje (ej, Mario) colisiona con el objeto (en este caso, la bola invisible con el n?mero), la animaci?n del tubo es igual por lo tanto debes poner la bola siempre abajo para que Mario choque con ella cuando est? dentro del tubo. Cuando colisione tambi?n puedes programar que cambie de room justo despu?s de asignar el valor a var_exit.