Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: 7sixerCF en Febrero 15, 2014, 07:34:48 PM

Título: Problema con salto de un personaje, caida lenta al cambiar movimineto
Publicado por: 7sixerCF en Febrero 15, 2014, 07:34:48 PM
Hola, lo que pasa es que tengo un personaje que salta, tiene un step que comprueba si debajo del personaje esta vacio si es haci pues la gravedad es 0.5 de lo contrario es 0, tambien tiene un if vspeed<12 {vspeed=12} para limitar la velocidad vertical, en el evento keyboard up tengo un check colision para comprobar si debajo del personaje hay un objeto si es haci la vspeed es -10 de esta manera solo salta cuando esta en contacto con el suelo, por ultimo un evento de colision con el "piso" con un "move to contact in direction con la direction direction y un maximu de 12 y un vertical speed 0 para que cuando choque con el piso deje de caer... El problema es que si mi personaje salta (que lo hace muy bien) al caer si el usuario realiza los movimientos izquierda derecha repetidamente la caida es lenta, no se por que pasa esto, el personaje se mueve de izquierda a derecha con la action jump to position. Aqui hay un ejemplo de lo que ocurre:

https://vimeo.com/86783793
Título: Re:Problema con salto de un personaje, caida lenta al cambiar movimineto
Publicado por: Slade en Febrero 16, 2014, 10:19:28 PM
Bueno en primer lugar no entiendo porque has puesto esto:

if vspeed<12 {vspeed=12}

aqui estas diciendo que si el personaje esta subiendo verticalmente, que entonces empieze a bajar verticalmente , si la velocidad es menor a 12 directamente te la cambiara a 12.

asi que ese codigo te anularia esto:
Citarla vspeed es -10 de esta manera solo salta cuando esta en contacto con el suelo

seria mejor algo asi : if vspeed>=12 {vspeed=12}
de este modo le estas diciendo que no caiga a velocidades mayores a 12.

Citarel personaje se mueve de izquierda a derecha con la action jump to position

Creo que alli recide el mayor problema, esta accion lo que hace es mover la instancia a una nueva posicion x,y en este caso si tienes gravedad y velocidad vertical y se da esa accion ignorara lo demas y posicionara en una nueva coordena x,y a la instancia, creo que seria mejor que usaras esto para el movimiento en x:

if keyboard_check(vk_left) {x-=5}
if keyboard_check(vk_right) {x+=5}


Espero que te ayude.
Título: Re:Problema con salto de un personaje, caida lenta al cambiar movimineto
Publicado por: 7sixerCF en Febrero 17, 2014, 02:04:44 AM
si gracias ya havia solucionado el problema pero justamente era esa la solucion :D