Hola gente, tengo un juego de plataformas y quiero que cuando un personaje colisione con la escalera se pueda subir y bajar por ella.
Para tal fin, realice este código que va en el evento steep.
if place_meeting(x,y+1,o_escalera) and keyboard_key_press(vk_up)
{
grav = 0;
vsp=0;
}
else
{
grav = 0.7;
}
Bien, lo que dice es que mientras el personaje colisiona con la escalera y se preciona la tecla vk_up, la gravedad es igual a 0 y la velocidad vsp=0.
El problema es que no funciona, es decir, mientras estoy en el aire y preciono la tecla UP el personaje no se queda quieto.
Porque mientras estoy en el aire, pues, quedaría mal que solo con colicionar con la escalera la gravedad sea 0, porque si uno salta y atraviesa la escalera se quedaría pegado.
¿Por que no haces que cuando colisione con la escalera y presione la tecla UP al objeto escalera se le quite la propiedad de solido?
Cita de: eldimarzioxp en Diciembre 11, 2014, 09:29:20 PM
¿Por que no haces que cuando colisione con la escalera y presione la tecla UP al objeto escalera se le quite la propiedad de solido?
Pero lo lógico sería que valla todo en un steep, para que si dejo de colisionar con la escalera la gravedad vuelva a la normalidad.
colision = place_meeting(x,y+1,o_escalera);
if place_meeting(x,y+1,o_escalera) and keyboard_key_press(vk_up)
{
colision = true;
grav = 0;
vsp=0;
}
if colision = false
{
grav = 0.7
}
Prueba este codigo, si no te funciona ya no se me ocurre nada
Cita de: eldimarzioxp en Diciembre 11, 2014, 10:22:37 PM
colision = place_meeting(x,y+1,o_escalera);
if place_meeting(x,y+1,o_escalera) and keyboard_key_press(vk_up)
{
colision = true;
grav = 0;
vsp=0;
}
if colision = false
{
grav = 0.7
}
Prueba este codigo, si no te funciona ya no se me ocurre nada
Gracias, justo ya lo había solucionado y estaba por editar el tema. Lo que pasaba era que el código que estoy usando lo ponía debajo de donde esta el código de colicion con el piso y la pared y por ese motivo daba problemas, se me ocurrio ponerlo al principio y funciona ok