WEBVTT

00:00.050 --> 00:00.560
Hola a todos.

00:00.560 --> 00:01.520
Bienvenidos al video.

00:01.520 --> 00:06.470
En este video vamos a crear la funcionalidad de buffer jump. Primero, te mostraré cómo funciona.

00:09.800 --> 00:11.180
Puede ser confuso, pero es muy útil.

00:17.810 --> 00:21.320
Puedo saltar y, cuando caigo, presionar la tecla de salto antes de tocar el suelo.

00:28.280 --> 00:30.440
Si presiono antes de aterrizar, normalmente el personaje no saltaría de inmediato.

00:41.240 --> 00:44.510
Pero buffer jump guarda la pulsación y salta automáticamente al aterrizar si presionaste justo antes.

00:46.610 --> 00:49.700
Así parece que tienes mucha habilidad, pero en realidad es el script ayudando.

01:30.100 --> 01:30.940
Sin buffer jump, es más difícil saltar justo al aterrizar.

01:37.340 --> 01:38.630
Con buffer jump, es más fluido.

01:47.540 --> 01:48.560
Para implementarlo, necesitamos saber el tiempo en que se presionó el botón de salto.

01:58.730 --> 02:04.310
Creamos una variable float para guardar el tiempo y la actualizamos cuando se presiona el botón.

02:06.580 --> 02:08.320
Agregamos un header Buffer Jump y una variable pública bufferJumpPressed.

02:25.890 --> 02:32.220
Creamos un método privado requestBufferJump que guarda el tiempo si el jugador está en el aire.

02:54.670 --> 02:58.900
En el input de salto, llamamos a requestBufferJump.

03:20.480 --> 03:23.420
Ahora, si el tiempo guardado más la ventana de buffer es mayor que el tiempo actual, permitimos el salto.

03:33.190 --> 03:34.330
Creamos un método privado attemptBufferJump.

03:53.780 --> 03:57.170
Agregamos una variable bufferJumpWindow, por ejemplo 0.25 segundos.

04:20.440 --> 04:27.040
Si el tiempo actual es menor que bufferJumpPressed + bufferJumpWindow, llamamos a jump y reseteamos bufferJumpPressed.

04:49.570 --> 04:53.320
En handleLanding, llamamos a attemptBufferJump.

05:08.980 --> 05:10.480
Probamos: ahora el salto es más fluido.

05:18.810 --> 05:22.950
Si es muy fácil, reduce el valor de bufferJumpWindow para hacerlo más difícil.

05:27.150 --> 05:29.280
No es obligatorio, pero mejora la sensación del juego.

05:40.770 --> 05:41.850
Si hay un glitch al saltar justo al inicio, inicializa bufferJumpActivated en -1.

06:01.280 --> 06:02.540
¡Listo! Gracias por tu atención.
