¿Como puedo hacer que el personaje baje de una plataforma?

He estado viendo varios tutoriales y me han quedado dos dudas:
La primera es hacer que el personaje baje de una plataforma al presionar abajo+salto como en los juegos de contra. La segunda es cuando al hacer un menu de pause al presionar el boton la primera vez funciona pero al volver a presionar el mismo boton no quita el pause y no puedo volver al juego, la unica forma de lograrlo fue dandole a otro boton el quitar el pause. ¿Como puedo hacer que el mismo boton ponga y quite el pause?

Esta es la hoja de eventos:

El problema es que a veces me funciona y otras veces al presionar salto+abajo el personaje primero salta y no baja de la plataforma entonces presiono saltar+abajo varias veces hasta que baja. Lo correcto es que al presionar salto+abajo el personaje no salte sino que baje de la plataforma.

Podrías agregar un tween con movimiento hacia abajo, unos 32 o 64 pixeles, de manera que te asegures que el personaje ya no colisiona con la base para activar el salto. Al menos esa fue la manera que me dio mejor resultado. Personalmente, le quité la opción de controles por default, para así tener mayor control sobre lo que debía suceder.

Si se presiona salto y también abajo, en el teclado o control, y si el jugador está sobre una plataforma atravesable, entonces se aplica el tween, y se prohibe al jugador volver a saltar. En algunas ocasiones se hace un pequeño salto, pero se consigue que el jugador baje de la plataforma.

Me gustaría ver los eventos que usas para pausar el juego. Si detienes los personajes, si detienes el tiempo. Para un juego en particular, mi forma de hacer pause fue:

Si se presiona el botón de pause: se verifica el valor de la variable Pause, Si es -1 Se hace la escala de tiempo de un par de layers = 0, con eso se detienen (el botón pause está en un layer diferente). Y se pausan las bases (que se mueven con tween).

Si el valor es 1, entonces todo vuelve a moverse, las bases vuelven al tween que tenian.

Al final, el valor se multiplica por -1 (Si era -1, se hace 1, si era 1, se vuelve -1). Se puede conseguir lo mismo usando una variable booleana.

Espero que esto te ayude.

1 Like