Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: jdarcp en Agosto 18, 2015, 05:32:08 PM

Título: Objeto que al presionar botón se mueva solo sobre suelo
Publicado por: jdarcp en Agosto 18, 2015, 05:32:08 PM
Ola a tod@s!  ;D

Creando mi primer juego en GM, me he encontrado con un pequeño problema. Y es que me estoy volviendo loco por hacer que un objeto (por ejemplo una pelota) al presionar una tecla éste vaya solo por el suelo. Para que me entendáis, cuando matamos una tortuga en mario bros y la damos un golpecito y va sola, pues yo quiero lo mismo pero presionando un botón xD. ¿Alguien me hecha una mano?

Gracias.
Título: Re:Objeto que al presionar botón se mueva solo sobre suelo
Publicado por: Clamud en Agosto 18, 2015, 06:27:27 PM
En un evento de presión de botón cambia la velocidad horizontal
[gml]
hspeed = 2;
[/gml]
¿Eso es todo o quieres programar un comportamiento especial?
Título: Re:Objeto que al presionar botón se mueva solo sobre suelo
Publicado por: jdarcp en Agosto 18, 2015, 10:35:39 PM
Quiero un comportamiento especial mira te explico y te dejo imagen y siento las molestias :P

(http://s2.subirimagenes.com/otros/previo/thump_9444836sin-ttulo.jpg)

Quiero que ese caparazón al pulsar un botón siga y caiga por las plataformas. Luego le añadiré las colisiones que ya se como se hacen pero de momento necesito eso.
Título: Re:Objeto que al presionar botón se mueva solo sobre suelo
Publicado por: jodidox en Agosto 18, 2015, 10:42:49 PM
Cita de: jdarcp en Agosto 18, 2015, 10:35:39 PM
Quiero un comportamiento especial mira te explico y te dejo imagen y siento las molestias :P

(http://s2.subirimagenes.com/otros/previo/thump_9444836sin-ttulo.jpg)

Quiero que ese caparazón al pulsar un botón siga y caiga por las plataformas. Luego le añadiré las colisiones que ya se como se hacen pero de momento necesito eso.

No se si funcioné. Pero en el evento step, le podes poner gravedad

STEP:

If place_free(x,y+1)

{
gravity=1;
gravity_direction=270;
}

y en el evento Colision con el piso

move_contact_solid(direction, 12)
vspeed=0

Supongo que podría funcionar no te aseguro nada,