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 :-[