Hola a todos.
Bienvenidos al video.
En este video quiero agregar una funcionalidad: el doble salto para el jugador.
Primero, ajustemos el gravity scale y el jump force. Puedes usar mis valores o probar los tuyos.
Voy a usar Gravity Scale 4.5 y Jump Force 14.
Muy bien.
También hay un parámetro llamado linear drag, que es la resistencia del aire. Si lo aumentas, el movimiento se siente diferente.
A mí me gusta cómo se siente, lo dejaré así.
Ahora puede saltar.
Así que vamos a hacer el doble salto.
No es difícil de hacer.
Primero, hagamos un bool público canDoubleJump.
Luego, en el método de salto, cambiamos la lógica para permitir el doble salto.
Cuando presionamos el botón, primero comprobamos si está en el suelo y si puede saltar.
Si no está en el suelo, comprobamos si puede hacer doble salto.
Si puede, hacemos el salto y ponemos canDoubleJump en false.
Probamos en Unity: salto, doble salto y ya no puedo hacer doble salto hasta tocar el suelo.
¿Cómo lo arreglamos?
Cuando el jugador toca el suelo, reseteamos canDoubleJump a true.
Creamos un bool privado isAirborne para saber si está en el aire.
En Update, si no está en el suelo y no está en el aire, ponemos isAirborne en true.
Si está en el aire y toca el suelo, isAirborne pasa a false.
Extraemos estos métodos para mayor claridad: updateAirborneStatus y handleLanding.
En handleLanding, ponemos canDoubleJump en true.
Probamos: salto, doble salto y al aterrizar se resetea.
Ahora mejoramos el doble salto usando una fuerza diferente.
Agregamos una variable doubleJumpForce y la usamos en el método doubleJump.
El segundo salto no debe ser tan fuerte como el primero.
Probamos y ajustamos los valores.
No te preocupes si el jugador se pega a las paredes, lo arreglaremos después.
Podemos organizar el código y ocultar variables que ya no necesitamos.
¡Gracias por tu atención! Nos vemos en el próximo video.