Hola! Bueno.. Trataré de explicarlo en términos simples:

Estoy haciendo un juego de plataforma (en el que quiero mencionar que si sales de los límites de la misma te mueres)y uso un objeto a modo de indicador de donde va a aparecer mi personaje al pasar a la siguiente room.La cuestión es que si no está a la misma altura al momento en que desaparece y reaparece, y si las rooms son de largo diferente, lo toma que sale de la room y pues muere! Y algunas veces queda en loop cayendo varias veces.. Lo cual el problema es que afecta a las vidas.

Por eso necesito que me indiquen como puedo hacer para que desaparezca de una room y reaparezca exactemente donde quiero en la otra! :C

Gracias de antemano..

Antes de salir de la room guarda las coordenadas iniciales de la otra room usando variables globales:
[gml]
///Cambiar de room

//Posición inicial en la siguiente room
global.x_inicial = //valor
global.y_inicial = //valor

room_goto( room );
[/gml]
en el eveto Room Start pasa esos valores a la posición del personaje:
[gml]
///Evento Room Start
x = global.x_inicial;
y = global.y_inicial;
[/gml]

Cita de: Clamud en Enero 17, 2015, 08:05:52 PM
Antes de salir de la room guarda las coordenadas iniciales de la otra room usando variables globales:
[gml]
///Cambiar de room

//Posición inicial en la siguiente room
global.x_inicial = //valor
global.y_inicial = //valor

room_goto( room );
[/gml]
en el eveto Room Start pasa esos valores a la posición del personaje:
[gml]
///Evento Room Start
x = global.x_inicial;
y = global.y_inicial;
[/gml]



Pero con eso tendría que usar los mismos valores en todas las rooms, no?



Esos valores tendrían que estar en un objeto controlador. ¿Qué método usas para cambiar de room?

Cita de: Clamud en Enero 17, 2015, 08:38:41 PM
Esos valores tendrían que estar en un objeto controlador. ¿Qué método usas para cambiar de room?


Tocas bloques que no son visibles.. Mi idea es que parezca un cambio fluido, osea que sigue por el mismo camino al cambiar la cuestíon es que no todas las rooms son iguales. Con esto que me diste pude solucionar lo de salirse de la pantalla, pero ahora cae desde arriba, yo utilizo un objeto para que spawne mirando hacia la derecha al principio de la otra room, lo que quisiera es que en resumen, aparezca en las coordenas de ese objeto de spawn al iniciar, no puedo volver a hacer aparecer el personaje porque se reiniciarían las variables de las vidas, me explico?

En el editor de rooms, en los bloques invisibles da click derecho y agrega un "Creation Code", define las coordenadas que tendrá el "spawner" en la siguiente room:
[gml]
///Creation Code
x_sig = //x siguiente
y_sig = //y siguiente
[/gml]
al chocar con el bloque se asignan las variables globales:
[gml]
///Colisión
global.x_spawner = x_sig;
global.y_spawner = y_sig;
[/gml]
y en el evento Create del spawner pon:
[gml]
///Create
x = global.x_spawner;
y = global.y_spawner;
[/gml]

Cita de: Clamud en Enero 17, 2015, 09:08:04 PM
En el editor de rooms, en los bloques invisibles da click derecho y agrega un "Creation Code", define las coordenadas que tendrá el "spawner" en la siguiente room:
[gml]
///Creation Code
x_sig = //x siguiente
y_sig = //y siguiente
[/gml]
al chocar con el bloque se asignan las variables globales:
[gml]
///Colisión
global.x_spawner = x_sig;
global.y_spawner = y_sig;
[/gml]
y en el evento Create del spawner pon:
[gml]
///Create
x = global.x_spawner;
y = global.y_spawner;
[/gml]



Es que lo que yo quiero es que comienze desde el spawner siempre sin importar donde se encuentre en la room, es lo que no estoy logrando :/


#7 Enero 18, 2015, 03:29:11 AM Ultima modificación: Enero 18, 2015, 03:58:09 AM por ian12
YA LO SOLUCIONÉ!!


Utilizando una librería llamada "The Dude's Library Full", que me había olvidado que tenía..

Con la función de "jump to object" en el evento "room start", así cuando mi personaje aparece en la room, salta a la posición del spawner y no muere!! :D


Muchas gracias por tu ayuda igual..

Me imagino que esa función hace algo como:
[gml]
x = objeto.x;
y = objeto.y;
[/gml]
prueba ese código, tal vez no sea necesario usar una librería extra.

Sep, eso funcionó.. Me lo hubieras dicho desde el principio ._.  En fin, gracias.