Jump to content
Sign in to follow this  
Jhonatan00_00

Salto regulable (SOLUCIONADO)

Recommended Posts

Buenas tardes compañeros y feliz año nuevo !! 🤣 (casi en febrero ya).

He estado bastante tiempo sin tocar mi proyecto por culpa del trabajo y hoy me ha dado por ponerlo de nuevo y la verdad es que cuando te pegas bastante tiempo sin ver lo que hiciste y lo observas después, te das cuenta automaticamente de lo que está bien y lo que no, por lo que no me ha venido mal el "descanso".

Lo primero que he visto que no está bien del todo es el salto progresivo que programé y es porque no te permite dar el salto muy pequeño o muy grande, si no que la diferencia del salto mas pequeño al mas grande es prácticamente la misma y creo que es por la forma en la que lo he programado (un poco chapucera).

¿De que forma podría solucionar el tema de programar un salto regulable? (me basta con la idea, no necesito el código de programación).

Un saludo.

Edited by Jhonatan00_00

Share this post


Link to post
Share on other sites

Hola @Jhonatan00_00 por lo general los saltos regulables suelen tener una penalización al momento de saltar. Esto quiere decir, que mientras el jugador mantenga apretado el botón de salto el personaje ira modificando su velocidad en Y hasta llegar al punto más alto deseado. Pero si el jugador suelta el botón se le aplica una penalización sobre la velocidad Y

Share this post


Link to post
Share on other sites

Buenos días Francoe, es exactamente como yo lo he hecho, pero entonces no se lo que habré programado mal para que no me funcione como yo quiero... La forma en la que lo he programado es creando un contador que va sumando desde el momento en el que el personaje se ha agachado para impulsarse. Después se impulsa y si ese contador llega a 0.2f por ejemplo entonces la gravedad se activa (porque sería lo máximo que podemos saltar), pero si soltamos el botón de salto antes de que el contador llegue a ese número también activamos la gravedad un poco antes y saltaría menos.

Al parecer el fallo viene porque Unity no me detecta bien cuando hemos soltado el botón y creo que voy a tener que crear una variable booleana que se llame Tecla_Pulsada o algo así y a ver si así funciona... Ya os contaré.

Gracias.

Share this post


Link to post
Share on other sites

lo que dice @francoe1 no es que se agache y "cargue" energia pa saltar... sino que al pulsar (buttonDown) salta.... con una fuerza fija... pero cuando esta en el aire, al soltar el boton (buttonUp) entonces deja de subir, se anula la fuerza ascendente, y comienza a caer, a bajar, asi puedes saltar mas alto o menos controlando tu completamemte hasta donde quieres saltar, ya que al soltar el boton dejas de subir....

es lo que hace Mario Bros... y muchos otros juegos...

en cambio si "cargas" energia para el salto, agachandote por ejemplo, no puedes controlar tanto cuanto de alto quieres saltar, pero si que existen juegos que lo hacen asi...  aunque yo prefiero el otro metodo, el metodo Mario bros, porque te da muchoas control... y porque salta instantaneamente, salta justo cuando le das al boton, no tienes que esperar a que "cargue" energia para el salto...

  • Like 1

Share this post


Link to post
Share on other sites

Buenos días a todos, al final he podido solucionarlo. El fallo se producía porque estoy usando switch para el salto y al parecer Unity pierde la información a cerca de las teclas que estén pulsadas al pasar de un paso a otro del switch, es decir que si tenemos la tecla pulsada y queremos que en el siguiente paso detecte si la hemos soltado tendremos que volver a pulsarla para soltar de nuevo o Unity no lo detectará.

He tenido que crear una variable como dije antes y he colocado esta variable fuera del switch, de tal modo que cuando pulsas el botón esa variable es "true" y al soltarlo es "false", así no tiene que detectar dentro del swicht si pulsas o no la tecla porque esa variable actúa igual y funciona.

En realidad no he hecho que el personaje cargue para saltar, si no que he necesitado hacer unos ajustes para que la animación del personaje se vea fluida, se agache, después se impulse y salte, etc...

GRACIAS.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...