Cita de: BssString en Septiembre 14, 2018, 04:48:53 AM
Sugerencia: Si pulsas la tecla abajo hasta que tocas el suelo, deberías hacer escalera = false, para que el personaje se baje de la escalera y que no sea sólo con espacio... así es más fácil de controlar para la persona que esté jugando.
Sugerencia2: Noté que tu código no detecta colisiones (no sé si tienes colisión en otro lado), así que lo que puedo ver aquí es que puedes atravezar terreno mientras estás trepando o bajando la escalera, incluso atravezar el suelo.
Sugerencia3: Si bajas o subes de la escalera hasta que dejas de colisionar con ella, no tendrás forma de detectar que ya no estás colisionando y tu variable escalera seguirá siendo "true", creará una inconsistencia. Deberías usar un "place_meeting(x,y,other)" justo después de ajustar el "y" para ver si después de moverte, aún estás tocando la escalera, si ya no, deberías hacer "escalera = false".
Saludos
Funcionó de manera maravillosa. ¡Mil gracias! He notado unos pequeños detalles que sucedes desde la primera vez que intenté hacer una escalera, y es que si estoy cayendo desde un nivel superior y me trepo a mitad de la escalera, el personaje se agarra, pero la vspeed se activa y me lo hace descender, hasta que colisiona con el suelo y se hace cero, permitiéndome trepar con normalidad, por lo que debí establecer "vspeed = 0" cuando "escalera = true".
Dentro de este mismo problema, cuando estoy en caída libre atravieso la escalera (o sea, si estoy cayendo y presiono las teclas de movimiento lateral hasta toparme con la escalera), el personaje se acelera horizontalmente. He dibujado los valores de la "hspeed" en pantalla y cambia de "0" a "0.00" lo que no tiene mucho sentido a decir verdad.
Por último, tu primera sugerencia funcionó de manera exitosa. La segunda no entendí bien a qué te referiste, pues cuando llego abajo de todo, puedo colisionar con el piso y conseguir "escalera = false" para quedarme de pie.
La tercera la implementaré más adelante (quiero intentar animar al personaje al llegar al tope de la escalera, como para ponerse de pie sobre ella).
Ah, me olvidaba. La animación de trepar no se muestra correctamente, ésta consta de 4 subimágenes, pero sólo muestra las dos primeras (es decir, la 0 y la 1). ¿Se debe a que mi sprite de escalera, por ser pequeño y obligarme a juntar uno sobre otro para armar una escalera más larga, la animación se reinicie tras el contacto con cada instancia? ¿Me recomendás hacer una única escalera más larga y ya? Porque no todas las escaleras del juego serán del mismo tamaño :/
Muchas gracias nuevamente
Saludos!