Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Yoo en Marzo 05, 2015, 01:29:00 AM

Título: PLATAFORMAS MOVIBLES HORIZONTAL
Publicado por: Yoo en Marzo 05, 2015, 01:29:00 AM
Alguien sabe un buen codigo o script para las plataformas movible HORIZONTALES, ya hice las verticales q estan bien, pero me falta las horizontales, he visto en un tutorial q decia algo asi:

if place_meeting(x,y-1,obj_jugador)
        obj_jugador.x=hspeed

Pero este código no es muy bueno, hay varios errores(el aumento de velocidad, y al ir en contra de la direccion de la plataforma, parece que se queda kieto), bueno si alguien lo tiene le agradeceria mucho q lo publique.
GRACIAS!!!!  :D

NOTA: Estoy usando "x" y "y" como movimiento, si posee un codigo bueno para plataformas moviles VERTICALES tambien me interesaria.   :)
Título: Re:PLTAFORMAS MOVIBLES HORIZONTAL
Publicado por: 3dgeminis en Marzo 05, 2015, 02:49:30 AM
Yo lo hago de la siguiente forma:
Creas una variable que contendra la id de la plataforma movil en la que se encuentre el jugador

CREATE
plataforma_id=0

END STEP (importante debe ser el evento END STEP)
plataforma_id=instance_place(x,y+1,plataforma_movil)

if plataforma_id>0
{
x+=plataforma_id.x-plataforma_id.xprevious
}
Título: Re:PLTAFORMAS MOVIBLES HORIZONTAL
Publicado por: Yoo en Marzo 05, 2015, 03:13:01 AM
Ya lo probé, y es lo mismo, al ir en contra parece q esta parado y al caminar en misma direccion de la plataforma, aumenta su velocidad!!!!  XD
Título: Re:PLATAFORMAS MOVIBLES HORIZONTAL
Publicado por: Silver_light en Marzo 05, 2015, 04:07:45 AM
A lo mejor puedes colocar una condición para que no se sume si presionas las teclas de direccion:

[GML]

plataforma_id=instance_place(x,y+1,plataforma_movil)

if plataforma_id != noone
{
   if ( keyboard_check_released(vk_left) || keyboard_check_released(vk_right) )
      x+=plataforma_id.x-plataforma_id.xprevious
}

[/GML]

No se si funcione a ciencia cierta, la verdad. Pero supongo que la X no debería sumarse o restarse si estás presionando las direcciones, para evitar el efecto de aceleracion o de freno.
Título: Re:PLATAFORMAS MOVIBLES HORIZONTAL
Publicado por: 3dgeminis en Marzo 05, 2015, 04:40:28 AM
Cita de: Silver_light en Marzo 05, 2015, 04:07:45 AM
A lo mejor puedes colocar una condición para que no se sume si presionas las teclas de direccion:

[GML]

plataforma_id=instance_place(x,y+1,plataforma_movil)

if plataforma_id != noone
{
   if ( keyboard_check_released(vk_left) || keyboard_check_released(vk_right) )
      x+=plataforma_id.x-plataforma_id.xprevious
}

[/GML]

No se si funcione a ciencia cierta, la verdad. Pero supongo que la X no debería sumarse no restarse si estás presionando las direcciones, para evitar el efecto de aceleracion o de freno.
Te me adelantaste. De esa forma ya queda arreglado, hice lo mismo pero usando una variable para saber cuando se esta moviendo, pero tu codigo queda mejor y mas simple.
Título: Re:PLATAFORMAS MOVIBLES HORIZONTAL
Publicado por: Yoo en Marzo 05, 2015, 05:10:53 PM
Cita de: Silver_light en Marzo 05, 2015, 04:07:45 AM
A lo mejor puedes colocar una condición para que no se sume si presionas las teclas de direccion:

[GML]

plataforma_id=instance_place(x,y+1,plataforma_movil)

if plataforma_id != noone
{
   if ( keyboard_check_released(vk_left) || keyboard_check_released(vk_right) )
      x+=plataforma_id.x-plataforma_id.xprevious
}

[/GML]

No se si funcione a ciencia cierta, la verdad. Pero supongo que la X no debería sumarse o restarse si estás presionando las direcciones, para evitar el efecto de aceleracion o de freno.

Ya lo probé, y es lo mismo q no poner nada, porque resbala de la plataforma cuando esta kieto, y al caminar no parece q avanza!!!
(El codigo va en el evento END ESTEP del jugador, no?)
Título: Re:PLATAFORMAS MOVIBLES HORIZONTAL
Publicado por: 3dgeminis en Marzo 05, 2015, 06:50:30 PM
Te dejo un ejemplo que hice y que funciona. La velocidad de la plataforma debe ser menor que la del jugador si no pareceria que el jugador no avanza o se moviera hacia el lado opuesto si la velocidad fuera mayor.
Título: Re:PLATAFORMAS MOVIBLES HORIZONTAL
Publicado por: Yoo en Marzo 05, 2015, 09:24:13 PM
Lo de ir en contra de la direccion de la plataformas esta solucionado en tu example, pero ahora al ir en la misma direccion de la plataformas, parece q rectrocediera lentamente, sin avanzar nada  :-\