Buenos días, tardes, noches a todos.
Mi problema es que en mi juego el personaje anda solo y tu tienes que darle click para que salte. el caso es que con el objeto suelo va todo perfecto si cae sobre él pero si colisiona con un lateral el personaje se queda quieto, atascado. Adjunto imágenes de los eventos de colisión.
https://gyazo.com/9f597060569ad8d8b124bdf91a3aa95b
https://gyazo.com/e2a22d70c2a8b0cde6d26a1e4d3935c8
https://gyazo.com/97f0e1e3b41ec4f632c5e6bc8aed2b14
https://gyazo.com/6e5b28d867cb61cdef285bfca5336e72
Si alguien puede ayudarme seria de mucha ayuda, y si me pueden decir otra manera que sirva mejor encantado de aprender. (si es con código lo agradecería un montón).
Gracias por adelantado.
Probablemente esto pasa: la velocidad horizontal del personaje nunca es cero y por lo tanto cuando colisiona horizontalmente con el suelo, lo hace una y otra vez en cada step, haciendo que su posición retroceda a la anterior (por colisionar con un sólido) y quede atascado. Yo colocaría esto:
Evento de colisión con suelo:
move_contact_solid(direction,12);
if !place_free(x,y+1)
vspeed=0;
if !place_free(x+1,y)
hspeed=0;
Evento step:
if place_free(x+1,y)
hspeed=12;
Cita de: Guacusio en Septiembre 20, 2015, 06:21:36 PM
Probablemente esto pasa: la velocidad horizontal del personaje nunca es cero y por lo tanto cuando colisiona horizontalmente con el suelo, lo hace una y otra vez en cada step, haciendo que su posición retroceda a la anterior (por colisionar con un sólido) y quede atascado. Yo colocaría esto:
Evento de colisión con suelo:
move_contact_solid(direction,12);
if !place_free(x,y+1)
vspeed=0;
if !place_free(x+1,y)
hspeed=0;
Evento step:
if place_free(x+1,y)
hspeed=12;
Gracias por ayudarme, en cuanto los servidores de YoYo me dejen activar mi licencia lo implementaré.