Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: olimikuo en Julio 20, 2013, 02:22:20 AM

Título: mis personajes no se mueven bien
Publicado por: olimikuo en Julio 20, 2013, 02:22:20 AM
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
Título: Re:mis personajes no se mueven bien
Publicado por: 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!
Título: Re:mis personajes no se mueven bien
Publicado por: olimikuo en Julio 20, 2013, 06:15:03 AM
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  :-[
Título: Re:mis personajes no se mueven bien
Publicado por: 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.
Título: Re:mis personajes no se mueven bien
Publicado por: 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...  :-[
Título: Re:mis personajes no se mueven bien
Publicado por: olimikuo en Julio 21, 2013, 03:17:05 AM
se me olvido dar un dato! es movimiento libre no en 4 direcciones...
Título: Re:mis personajes no se mueven bien
Publicado por: GALO en Julio 21, 2013, 03:59:53 AM
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.
Título: Re:mis personajes no se mueven bien
Publicado por: olimikuo en Julio 21, 2013, 04:08:59 AM
galo que otro dato seria?  :-[
Título: Re:mis personajes no se mueven bien
Publicado por: olimikuo en Julio 21, 2013, 05:45:51 AM
ah eso! le tengo con velocidad 4 y para que mira a cada lado evento tecla izquierda code sprite_index=
Título: Re:mis personajes no se mueven bien
Publicado por: GALO en Julio 21, 2013, 07:28:46 AM
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??
Título: Re:mis personajes no se mueven bien
Publicado por: olimikuo en Julio 21, 2013, 08:01:08 AM
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
Título: Re:mis personajes no se mueven bien
Publicado por: Fenix oscuro en Julio 21, 2013, 11:27:50 AM
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
Título: Re:mis personajes no se mueven bien
Publicado por: GALO en Julio 21, 2013, 05:52:45 PM
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.
Título: Re:mis personajes no se mueven bien
Publicado por: olimikuo en Julio 21, 2013, 09:06:38 PM
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 
Título: Re:mis personajes no se mueven bien
Publicado por: Fenix oscuro en Julio 21, 2013, 11:31:27 PM
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.
Título: Re:mis personajes no se mueven bien
Publicado por: olimikuo en Julio 22, 2013, 12:04:37 AM
ok puede que me sirva! ... ... ... y como se pone?  :-[ (se que en execute piece of code=
Título: Re:mis personajes no se mueven bien
Publicado por: Fenix oscuro en Julio 22, 2013, 12:11:58 AM
hace mucho que no lo uso pero intenta con esto

if distance_to_object(principal) > 4
    {
        mp_potential_step(principal.x,principal.y,4,1)
    }
else
    {
        speed = 0
    }
Título: Re:mis personajes no se mueven bien
Publicado por: olimikuo en Julio 22, 2013, 12:28:15 AM
oh dios...  oh my fucking god me funciona al fin se mueven bien muchas gracias fenix oscuro muchas gracias  :)