hola! buenos... dias/tardes/noche (lo que sea en su pais y a lahora que lo lean)
tengo un pequeño problema en mi juego recien empezado: resulta que en mi juego se llevan dos personajes (uno principal y otro a la cola) pero no logro que se muevan bien las dos juntas ya sea porque se dejan de mover al estar muy juntas o una le impide el paso a la otra y no se que hacer para arreglarlo  :'( (bueno si supiese no estaria aqui  :-[ )
espero me puedan ayudar y gracias de ante mano

una buena forma de mantenerlas juntas es que pongas este code en el evento step de el objeto cola:

if instance_exists(principal)/// esto es mas que para evitar bugs
{
x=principal.x     //// se mantiene apegado a la coordenada x del objeto principal
x=principal.y    //// se mantiene apegado a la coordenada y del objeto principal
}


eso si tienes controles de movimientos asignados a la cola debes quitarlos, ya que solo bastaría con los controles del objeto principal.  :)
saludos!
"Aquel que conoce el porque, es el que en verdad sabe.-"

#2 Julio 20, 2013, 06:15:03 AM Ultima modificación: Julio 20, 2013, 09:59:05 AM por olimikuo
Cita de: GALO en Julio 20, 2013, 04:32:10 AM
una buena forma de mantenerlas juntas es que pongas este code en el evento step de el objeto cola:

if instance_exists(principal)/// esto es mas que para evitar bugs
{
x=principal.x     //// se mantiene apegado a la coordenada x del objeto principal
x=principal.y    //// se mantiene apegado a la coordenada y del objeto principal
}


eso si tienes controles de movimientos asignados a la cola debes quitarlos, ya que solo bastaría con los controles del objeto principal.  :)
saludos!



no me sirve  :'( o no te entendi bien que hacer  :-[

El código que te puso Galo es para que lo pongas en el evento STEP del personaje cola. El detalle es que así como está, el personaje cola estaría pegado en todo momento al personaje principal

se puede hacer x=principal.x + espacio para que haya un espacio entre el personaje principal y el de la cola. Esto presenta tres problemas:

1. El valor del espacio siempre se va a sumar a la coordenada x del personaje principal, pero esto no debe ser siempre así: si el personaje principal avanza hacia la izquierda, el valor de espacio se debería restar en lugar de sumar.

2. Se deduce del punto 1, que hay que tener una variable que indique hacia donde avanza el personaje principal, para saber si restar o sumar el espacio.

3. A lo mejor se va a ver poco natural que siempre haya la misma distancia entre los dos personajes, como que se vería muy mecánico. Se vería mejor que el personaje cola tardara un tiempo en reaccionar antes de seguir al principal.

bien... lo hize funcionar! pero tiene  un movimiento extraño ya que cuando muevo a la principal hacia arriba la de cola se va a izquierda y cuando avanzo hacia abajo con la principal la cola se va  a la derecha
ya digo quiza estoy haciando algo mal... esque soy nuevo en esto...  :-[

se me olvido dar un dato! es movimiento libre no en 4 direcciones...

Cita de: penumbra en Julio 20, 2013, 08:21:53 AM
El código que te puso Galo es para que lo pongas en el evento STEP del personaje cola. El detalle es que así como está, el personaje cola estaría pegado en todo momento al personaje principal

se puede hacer x=principal.x + espacio para que haya un espacio entre el personaje principal y el de la cola. Esto presenta tres problemas:

1. El valor del espacio siempre se va a sumar a la coordenada x del personaje principal, pero esto no debe ser siempre así: si el personaje principal avanza hacia la izquierda, el valor de espacio se debería restar en lugar de sumar.

2. Se deduce del punto 1, que hay que tener una variable que indique hacia donde avanza el personaje principal, para saber si restar o sumar el espacio.

3. A lo mejor se va a ver poco natural que siempre haya la misma distancia entre los dos personajes, como que se vería muy mecánico. Se vería mejor que el personaje cola tardara un tiempo en reaccionar antes de seguir al principal.

No creo que tenga que complicarse tanto, simplemente se debe correr el punto de origen del sprite del objeto cola, regularlo de tal forma que siempre guarde una distancia respecto al objeto principal.

Cita de: olimikuo en Julio 20, 2013, 10:00:10 AM
bien... lo hize funcionar! pero tiene  un movimiento extraño ya que cuando muevo a la principal hacia arriba la de cola se va a izquierda y cuando avanzo hacia abajo con la principal la cola se va  a la derecha
ya digo quiza estoy haciando algo mal... esque soy nuevo en esto...  :-[

necesito mas datos para ayudarte con ese problema, ya que hay varios factores que influyen como la velocidad del objeto y el código que empleas para que la cola mire o apunte en la dirección correcta... a propósito, nunca se hablo de lo esto ultimo XD

PD: Mientras el objeto principal este en movimiento, la cola nunca va a estar exactamente en la posición correcta, siempre estará desfasada unos cuantos pixeles dependiendo de la velocidad del objeto principal.
"Aquel que conoce el porque, es el que en verdad sabe.-"

#7 Julio 21, 2013, 04:08:59 AM Ultima modificación: Julio 21, 2013, 05:44:24 AM por olimikuo
galo que otro dato seria?  :-[

ah eso! le tengo con velocidad 4 y para que mira a cada lado evento tecla izquierda code sprite_index=

el sprite_index creo que genera el conflicto, prueba sin esto.

Que estilo es tu juego??  top down no?
y donde esta el code sprite_index, en el objeto cola o principal??
"Aquel que conoce el porque, es el que en verdad sabe.-"

#10 Julio 21, 2013, 08:01:08 AM Ultima modificación: Julio 21, 2013, 08:07:00 AM por olimikuo
eh estilo... no conosco muy bien los estilos... cuales son?  :'(
en las dos
les saque el sprite_index= a las dos pero sigue pasando lo mismo

creo que el problema es con el codigo que te dieron
Cita de: GALO en Julio 20, 2013, 04:32:10 AM
una buena forma de mantenerlas juntas es que pongas este code en el evento step de el objeto cola:

if instance_exists(principal)/// esto es mas que para evitar bugs
{
x=principal.x     //// se mantiene apegado a la coordenada x del objeto principal
x=principal.y    //// se mantiene apegado a la coordenada y del objeto principal
}


eso si tienes controles de movimientos asignados a la cola debes quitarlos, ya que solo bastaría con los controles del objeto principal.  :)
saludos!
si te fijas la 4ta linea dice x = principal.y
cambiale la "x" por una "y"

tambien estan otras funciones:
xprevious
yprevious
move_towards_point
mp_potential_step

te recomiendo el mp_potential_step si el movimiento es como el de pokemon

si te fijas la 4ta linea dice x = principal.y
cambiale la "x" por una "y"


me equivoque , perdón  :-[ :-[ :-[  gracias por aclararlo Fenix o.

if instance_exists(principal)
{
x=principal.x   
y=principal.y   
}


este seria el código que te di ya corregido, por si las dudas.  :-[
aunque puedes usar mp_potential_step como bien dice Fenix oscuro.
"Aquel que conoce el porque, es el que en verdad sabe.-"

bien! le puse ese pero cola se pega a principal  :'(
y fenix... con movimiento tipo pokemon te refieres a restringido por cuadros?
porque si es asi no me sirve... el mio es de movimiento libre 

no,ese codigo es para movimiento ligero (hspeed,vspeed)...lo que hara es buscar al objetivo y evadir los objetos solidos.

Pero si es un juego de plataformas, no te lo recomiendo.