WEBVTT

00:00.050 --> 00:00.500
Hola a todos.

00:00.500 --> 00:01.460
Bienvenidos al video.

00:01.460 --> 00:04.490
En este video te mostraré cómo hacer el Coyote Jump.

00:07.580 --> 00:08.690
¿Qué es el Coyote Jump?

00:09.460 --> 00:12.430
Normalmente el personaje solo puede saltar cuando está en el suelo.

00:19.120 --> 00:25.270
Pero si se mueve justo al borde, deja de detectar el suelo y ya no puede saltar, lo cual es normal.

00:31.390 --> 00:37.720
Podemos mejorar la sensación del juego añadiendo un pequeño retraso antes de quitar la habilidad de saltar, permitiendo saltar justo después de dejar el suelo.

00:43.270 --> 00:48.430
Así parece que el jugador saltó en el último segundo, como si tuviera mucha habilidad.

00:56.350 --> 00:58.900
Pero en realidad es solo un temporizador en el script.

01:04.630 --> 01:06.130
¿Cómo lo hacemos?

01:06.130 --> 01:10.690
Creamos un temporizador que permite saltar durante un breve periodo después de dejar el suelo.

01:14.920 --> 01:17.320
Si no entiendes ahora, sigue el video y lo verás claro.

01:22.560 --> 01:25.560
Primero, renombramos variables y limpiamos el código.

01:32.940 --> 01:33.990
Renombramos a activated.

01:36.060 --> 01:40.770
Eliminamos booleanos que ya no necesitamos.

02:00.680 --> 02:05.630
Creamos dos variables para el Coyote Jump: una ventana de tiempo y un float para activarlo.

02:14.480 --> 02:16.850
Por ejemplo, coyoteJumpWindow = 0.5.

02:22.880 --> 02:23.870
Muy bien.

02:28.910 --> 02:29.450
Creamos métodos para activar y cancelar el Coyote Jump.

03:00.610 --> 03:04.420
Al dejar el suelo, activamos el Coyote Jump guardando el tiempo actual.

03:11.800 --> 03:13.120
Para cancelar, ponemos el tiempo en time.time - 1.

03:48.790 --> 03:51.820
Activamos el Coyote Jump solo si estamos cayendo (rb.velocity.y < 0).

04:24.890 --> 04:27.290
Agregamos un debug para comprobar que funciona.

04:56.200 --> 04:56.860
¡Funciona!

05:06.790 --> 05:12.550
Cuando intentamos saltar, comprobamos si estamos en el suelo o si el Coyote Jump está disponible.

05:44.650 --> 05:47.950
Si usamos el Coyote Jump, mostramos un debug.

06:04.610 --> 06:10.160
Después de saltar, cancelamos el Coyote Jump para que no se use de nuevo.

07:41.710 --> 07:43.270
Ajusta el valor de la ventana según prefieras.

07:46.990 --> 07:50.110
En el Rigidbody, pon collision detection en continuous para mejor precisión.

08:09.040 --> 08:12.790
¡Listo! El jugador está listo para probar en el nivel.
