Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: matiascarpello en Diciembre 04, 2014, 07:29:35 PM

Título: Ayuda, que personaje no se muva mientras salta o esta en el aire
Publicado por: matiascarpello en Diciembre 04, 2014, 07:29:35 PM
Hola gente, estoy haciendo un juego de plataformas y hay algo que me molesta para lo que es mi juego.

Seguramente sabrán que en la mayoría de juegos de plataformas, cuando se salta, es posible seguir moviendo al personaje mientras esta en el aire. Para lo que es mi juego, necesito que eso no ocurra, es decir, que el personaje salte, pero mientras esta en el aire al presionar la tecla left o right, no se mueva.

Trate utilizando en el evento steep

if vspeed <0
{
hspeed=0
}

Es decir, si la velocidad vertical speed es menor a cero, la velocidad hspeed será igual a cero, pero no me funciona.
Título: Re:Ayuda, que personaje no se muva mientras salta o esta en el aire
Publicado por: Clamud en Diciembre 04, 2014, 07:53:45 PM
Crea una variable que indique que el personaje está tocando el piso
[gml]piso = not place_free( x, y+1 ); [/gml]
Y en los eventos de las flechas pon como condición esa variable:
[gml]//Evento Left
if( piso ) {/*mover a la izquierda*/}[/gml]
[gml]//Eveto Right
if( piso ) {/*mover a la derecha*/}[/gml]
[gml]//Evento Press Up
if( piso ) {/*saltar*/}[/gml]

O puedes usar una variable que indique que está en el aire
[gml]aire = place_free( x, y+1 ); [/gml]
invirtiendo la condición en los eventos de las flechas
Título: Re:Ayuda, que personaje no se muva mientras salta o esta en el aire
Publicado por: empardopo en Diciembre 05, 2014, 09:10:44 AM
Una pregunta de novato con respecto a la vspeed.
La vspeed cambia de positivo a negativo cuando va hacia arriba o abajo?

Lo mismo la comprobación debería ser
if vspeed <>0
{
hspeed=0
}