Hola, soy yo otra vez.  :-[

Tengo un problema, me gustaría hacer que al salir de una casa de mi juego el jugador aparezca en la entrada de la casa y no en la posición que tengo puesta en la room.

¿Me pueden ayudar por favor?

Cita de: Adrive en Diciembre 12, 2014, 05:26:30 PM
Hola, soy yo otra vez.  :-[

Tengo un problema, me gustaría hacer que al salir de una casa de mi juego el jugador aparezca en la entrada de la casa y no en la posición que tengo puesta en la room.

¿Me pueden ayudar por favor?
¿Podrías poner tu código del objeto?

Cita de: eldimarzioxp en Diciembre 12, 2014, 05:38:46 PM
Cita de: Adrive en Diciembre 12, 2014, 05:26:30 PM
Hola, soy yo otra vez.  :-[

Tengo un problema, me gustaría hacer que al salir de una casa de mi juego el jugador aparezca en la entrada de la casa y no en la posición que tengo puesta en la room.

¿Me pueden ayudar por favor?
¿Podrías poner tu código del objeto?

¿El código?
¿Te refieres a este?

Information about object: me
Sprite: mirando_abj
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Mask:

Create Event:

start moving in directions 000010000 with speed set to 0
Key Press Event for Key:

start moving in directions 000100000 with speed set to 3
set the sprite to m_izq with subimage 0 and speed 1
set variable image_speed to 0.4
Key Press Event for Key:

start moving in directions 000000010 with speed set to 3
set the sprite to m_arr with subimage 0 and speed 1
set variable image_speed to 0.4
Key Press Event for Key:

start moving in directions 000001000 with speed set to 3
set the sprite to m_der with subimage 0 and speed 1
set variable image_speed to 0.4

Podrías ponerle algo así como:

//En el jugador
x = obj_casa.x;
y = obj_casa.y;


No sé en que momento del juego quieres que se mueva a esa posición, si es al inicio del room puedes ponerlo en el create del objeto jugador, pero si es en otro revisa dónde ponerlo.

Espero esto sea lo que pidas, sino lo es, por favor explica mejor tu problema. :)
Una persona puede equivocarse mil veces pero solo fracasa cuando le echa la culpa a otro por sus errores

Cita de: p34 en Diciembre 14, 2014, 03:33:40 AM
Podrías ponerle algo así como:

//En el jugador
x = obj_casa.x;
y = obj_casa.y;


No sé en que momento del juego quieres que se mueva a esa posición, si es al inicio del room puedes ponerlo en el create del objeto jugador, pero si es en otro revisa dónde ponerlo.

Espero esto sea lo que pidas, sino lo es, por favor explica mejor tu problema. :)


Bueno lo que quiero es por ejemplo, en un pueblo que yo tenga al entrar en una casa y al salir el jugador aparezca en la puerta de la casa que ha salido, osea que no se vaya a la posición que yo he puesto en la room. ¿Me entiendes? xd

Lo que he hecho es crear un objeto puerta y colocar varias instancias de éste objeto dentro de los niveles, a cada instancia le pongo diferente "creation code" (click derecho -> Creation code) para definir tres variables:
[gml]
xsig = //número;
ysig= //número;
roomsig = nivelx;
[/gml]
Cuando el jugador queda alineado con la puerta ejecuta el siguiente código;
[gml]
global.x_inicial = xsig;
global.y_inicial = ysig
room_goto( roomsig );
[/gml]
En la otra room, en el evento create o en el evento room start del objeto jugador se hace esto:
[gml]
x = global.x_inicial;
y = global.y_inicial;
[/gml]
Para no tener errores debes definir las variables global.x_inicial y global.y_inicial desde la pantalla de título (o desde antes de que aparezca el objeto jugador), y debes recordar poner creation codes en todas la instancias del objeto puerta.

Cita de: Clamud en Diciembre 14, 2014, 06:51:45 PM
Lo que he hecho es crear un objeto puerta y colocar varias instancias de éste objeto dentro de los niveles, a cada instancia le pongo diferente "creation code" (click derecho -> Creation code) para definir tres variables:
[gml]
xsig = //número;
ysig= //número;
roomsig = nivelx;
[/gml]
Cuando el jugador queda alineado con la puerta ejecuta el siguiente código;
[gml]
global.x_inicial = xsig;
global.y_inicial = ysig
room_goto( roomsig );
[/gml]
En la otra room, en el evento create o en el evento room start del objeto jugador se hace esto:
[gml]
x = global.x_inicial;
y = global.y_inicial;
[/gml]
Para no tener errores debes definir las variables global.x_inicial y global.y_inicial desde la pantalla de título (o desde antes de que aparezca el objeto jugador), y debes recordar poner creation codes en todas la instancias del objeto puerta.

No he entendido mucho pero me las apañaré, gracias.