Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: poplamanopla en Julio 08, 2014, 11:35:10 AM

Título: Problema coordenadas x,y al cambiar pantalla (room) de distinto tamaño
Publicado por: poplamanopla en Julio 08, 2014, 11:35:10 AM
Holas a tod@s ...
Mi primer post y es para preguntar.

Estoy probando de crear un mini-juego de plataformas pero no encuentro una forma de que, al cambiar de "una room" a otra, el jugador mantenga la posición X, Y.

En principio no parece difícil. Es más, si las "habitaciones" tienen la mismas medidas no hay demasiados problemas.
La cosa está en que al pasar de una room de 1024x480 a otra de 640x480 y volver a la anterior (la de 1024x480) las coordenadas son las de la segunda "habitación" (la de 640x480) por lo que el jugador aparece en las coordenadas 640, y.

No sé si me explico a ver con un vídeo:

http://youtu.be/cUULN9HOT3U

Una de las intenciones es poder comenzar un salto al final de la room 1 y que este termine al principio de la room 2.

(http://i.imgur.com/e6yZ5z2.png)

Y saludo y gracias.
Título: Re:Problema coordenadas x,y al cambiar pantalla (room) de distinto tamaño
Publicado por: penumbra en Julio 08, 2014, 11:58:42 AM
Esto pasa porque el objeto jugador es persistente, y al cambiar de habitación mantiene los valores de sus variables internas. Quizás esto funcione (o quizás no  :-[):  utilizar una variable, por ejemplo hab_actual que en CREATE se inicie en cero. Esta variable indica cuál es la habitación más reciente. En STEP hago:

if hab_actual  != room
    hab_actual = room                  //actualizar a la habitación más reciente

evento [ROOM START]
if hab_actual == room_640
    x = room_width

Suponiendo que se pase de la segunda a la primra habitación, el evento room start se ejcuta antes que el primer step en la nueva habitación, la variable hab_actual todavía contiene el valor de la habitación de 640, pero ese valor es distinto al de la habitación de 1024 a la que se acaba de entrar, por lo que movemos al jugador al extremo derecho de la habitación.

Obviamente esto requerirá que vayas agregando más condiciones al evento según el número de habitaciones, pero claro que esto se pude mejorar para hacerlo más automático, aunque requiere pensar un poquito más
Título: Re:Problema coordenadas x,y al cambiar pantalla (room) de distinto tamaño
Publicado por: poplamanopla en Agosto 12, 2014, 12:03:42 PM
Cita de: penumbra en Julio 08, 2014, 11:58:42 AM
Esto pasa porque el objeto jugador es persistente, y al cambiar de habitación mantiene los valores de sus variables internas. Quizás esto funcione (o quizás no  :-[):  utilizar una variable, por ejemplo hab_actual que en CREATE se inicie en cero. Esta variable indica cuál es la habitación más reciente. En STEP hago:

if hab_actual  != room
    hab_actual = room                  //actualizar a la habitación más reciente

evento [ROOM START]
if hab_actual == room_640
    x = room_width

Suponiendo que se pase de la segunda a la primra habitación, el evento room start se ejcuta antes que el primer step en la nueva habitación, la variable hab_actual todavía contiene el valor de la habitación de 640, pero ese valor es distinto al de la habitación de 1024 a la que se acaba de entrar, por lo que movemos al jugador al extremo derecho de la habitación.

Obviamente esto requerirá que vayas agregando más condiciones al evento según el número de habitaciones, pero claro que esto se pude mejorar para hacerlo más automático, aunque requiere pensar un poquito más

No quería contestar antes de haber solucionado el problema, pero en vista de que mi cutre-proyecto ha cambiado bastante, creo que ya es hora de como mínimo agradecer tus comentarios ... aunque haya pasado más de ¡UN MES!
:-[  :-[  :-[
¿He dicho que soy una persona despistada?

No quería hacer el típico "hago una pregunta y hasta luego" ...
Con suerte antes de final de mes igual puedo enseñar algo decente (o semidecente) de lo que estoy haciendo.

Saludos y perdón.