Octubre 28, 2014, 02:34:35 AM Ultima modificación: Octubre 29, 2014, 01:54:14 AM por DHX
Hola makeros.
Sé que el tema de las rampas o slopes, se ha preguntado bastante... espero que nadie se moleste. Pero es algo que se me atraganta.
He seguido unos videotutoriales de Shaun Spaldin, que recomendó otro usuario en el foro. Al llegar a añadir el código de rampas en el evento step, colisiona contra ellas como si fuese una pared y no sube. No dá ningún error de compilación. Llevo varios días atascado con esto y no logro ver donde me estoy equivocando... alguien me podría echar un cable?  :-[
Gracias y un saludo.

hsp_final = valor final de x
par_wall = objeto "parent" para colisiones, que incluyen los suelos, rampas, plataformas, etc
yplus = variable que hace de contador

// Colisión horizontal
if place_meeting(x+hsp_final,y,par_wall)
{
    yplus = 0;
    while (place_meeting(x+hsp_final,y-yplus,par_wall) && yplus <= abs(1*hsp_final)) yplus += 1;
    if place_meeting(x+hsp_final,y-yplus,par_wall)
    {
        while (!place_meeting(x+sign(hsp_final),y,par_wall)) x+=sign(hsp_final);
        hsp = 0;
        hsp_final = 0;
    }
    else
    {
        y -= yplus
    }
}
x += hsp_final;     // Valor final de movimiento horizontal

El código debería funcionar correctamente, asegúrate de haber marcado los sprites para detectar colisiones precisas. También a tener en cuenta, el objeto no subirá cuestas con inclinación superior a los 45 grados.

Cita de: Killer en Octubre 28, 2014, 03:15:19 AM
El código debería funcionar correctamente, asegúrate de haber marcado los sprites para detectar colisiones precisas. También a tener en cuenta, el objeto no subirá cuestas con inclinación superior a los 45 grados.

Muchas gracias Killer. Menudo cenutrio estoy hecho... tenías razón. Tenía desactivada la colisión precisa en las rampas  :-[