Autor Tema: AYUDA: Mi personaje se queda pegado al suelo.  (Leído 56 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Luis En

  • Habitual
  • *
  • Puntos: 68
  • Mensajes: 42
  • Sexo: Masculino
  • Aprendiendo a crear mis nuevos mundos
    • Ver Perfil
    • Fhantasie Studio
AYUDA: Mi personaje se queda pegado al suelo.
« en: Agosto 10, 2018, 09:08:22 am »
Buenas compañeros, he tenido problemas con mi personaje al ponerle gravedad. Pasa que al chocar con el objeto de colisión (suelo), presiono avanzar pero solo se reproduce la animación de caminar, y se queda en el mismo lugar sin desplazarse.

¿Me podrían ayudar a saber porque pasa eso? Recién estoy aprendiendo el GML.
Aquí les dejo el código que estoy utilizando:

EVENTO STEP
// GRAVEDAD

if place_free(x,y + 1)
    {
    gravity_direction= 270
    gravity= 0.5
    }
    else
    {
    gravity_direction= 270
    gravity= 0
    }

if (vspeed> 12)
    {vspeed= 12}    

//CAMINAR

if keyboard_check_pressed(vk_left)
    {
    hspeed= -5;
    image_xscale= -1
    image_speed= 0.5
    }
if keyboard_check_pressed(vk_right)
    {
    hspeed= 5;
    image_xscale= 1
    image_speed= 0.5
    }
if keyboard_check_released(vk_left)
    {
    hspeed= 0;
    image_xscale= -1
    image_speed= 0
    image_index= 0
    }
if keyboard_check_released(vk_right)
    {
    hspeed= 0;
    image_xscale= 1
    image_speed= 0
    image_index= 0
    }
EVENTO COLLISION
move_contact_solid(direction, 12)
vspeed= 12;



Suscribete a mi canal de Youtube:
Fhantasie Studio
https://www.youtube.com/channel/UCchXS8u0bvWVifSiTZFSARQ
 
No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado 3dgeminis

Re:AYUDA: Mi personaje se queda pegado al suelo.
« Respuesta #1 en: Agosto 10, 2018, 07:48:09 pm »
Eso es debido a que en la colision no detenes la velocidad vertical si no que la igualas a 12 cuando deberia ser 0
move_contact_solid(direction, 12)
vspeed= 0;
Algo que note, es que usas keyboard_check_pressed siendo una funcion que se ejecuta una vez para mover al personaje, lo mejor seria usar keyboard_check.
 
Los siguientes usuarios dieron las gracias a este tema: Luis En


Desconectado Luis En

  • Habitual
  • *
  • Puntos: 68
  • Mensajes: 42
  • Sexo: Masculino
  • Aprendiendo a crear mis nuevos mundos
    • Ver Perfil
    • Fhantasie Studio
Re:AYUDA: Mi personaje se queda pegado al suelo.
« Respuesta #2 en: Agosto 10, 2018, 09:13:22 pm »
Eso es debido a que en la colision no detenes la velocidad vertical si no que la igualas a 12 cuando deberia ser 0
move_contact_solid(direction, 12)
vspeed= 0;
Algo que note, es que usas keyboard_check_pressed siendo una funcion que se ejecuta una vez para mover al personaje, lo mejor seria usar keyboard_check.

Genial! muchas gracias!! ese era el error!
Y sobre el keyboard_check_pressed lo utilizo porque pensé que solo se activaba cada vez que presione avanzar, en cambio keyboard_check al presionar una vez se seguirá desplazando así ya no lo mantenga presionado, no era así? o me estoy enredando? xD
Suscribete a mi canal de Youtube:
Fhantasie Studio
https://www.youtube.com/channel/UCchXS8u0bvWVifSiTZFSARQ