Hola.
Para pasar a la siguiente habitaci?n estoy utilizando este c?digo en el evento colisi?n del jugador con la puerta:
x=jugador.x-500; y=jugador.y-1; room_goto_next()
?Qu? he de cambiar para pasar a una habitaci?n determinada y no necesariamente a la siguiente?
Gracias de antemano y un saludo.
Tu pregunta no es lo mismo que pide el t?tulo pero bueno, te respondo lo que preguntaste y si tenes otra duda te responder? lo otro.
Para pasar a una habitaci?n determinada tenes que en ves de "room_goto_next()" tenes que poner "room_goto('nombredelroom')"
Donde 'nombredelroom' es el nombre de el room que quieras ir.
Suponiendo que tu room se llamara room12 quedar?a asi:
x=jugador.x-500; y=jugador.y-1; room_goto(room12);
Hola, gracias por contestar tan pronto.
El problema que tengo es que quiero que el jugador acceda a una habitaci?n que est? encima de la actual.
Sube por unas escaleras verticales y colisiona con un objeto invisible que hay en el techo y que le lleva a esta nueva habitaci?n (gracias por la ayuda con eso), pero en la nueva habitaci?n no aparece en la coordenada "y" correcta (que ser?a en la parte de abajo de esta nueva habitaci?n, es decir en el suelo) sino arriba del todo. No tengo problema al hacer el cambio cuando la nueva habitaci?n est? a la derecha o izquierda as? que no s? qu? estoy haciendo mal.
Gracias.
Podr?as hacer 2 variables globales con la posicion donde queres que se cree el objeto, y en el evento create de algun objeto (o mismo en el creation code del room) hacer que el objeto del personaje se mueva a esas coordenadas.
Un ejemplo ser?a:
Evento Collision con el objeto que hace que pases de room (por ejemplo, la puerta)
room_goto(room12);
global.X=250;
global.Y=100;
Suponemos que tenemos las variables global.X y global.Y ya creadas en un evento create.
--------------------------------------------------------------------------------------------------------------------------
[Ya en el room de la habitaci?n]
En otro evento create de otro objeto o en el creation code del room de la habitaci?n tendrias que poner lo siguiente:
jugador.x=global.X;
jugador.y=global.Y;
Con eso haces que el jugador se cree en las coordenadas que le determines "globalmente" al colisionar con la puerta. (lo que hicimos m?s arriba)