Hola chicos.
Bienvenidos al video.
Finalmente tenemos que configurar el movimiento del jugador.
Estoy muy contento por ello.
Hagámoslo ahora mismo.
No será tan difícil porque en realidad hicimos algo similar en la primera sección de
este curso.
Vamos al jugador ahora.
Aquí necesitamos guardar la entrada que tenemos del teclado y luego aplicarla al movimiento junto
con la velocidad de movimiento.
Puedes editar la entrada antes.
Si recuerdas, escribimos input dot get axis horizontal.
Pero ahora quiero guardar esta entrada en una variable para poder usarla en diferentes partes del script.
Hagamos, eh, hagamos un float público primero porque quiero verlo mientras lo pruebo.
Y luego lo haremos privado.
Así que será un float privado X input.
Y luego en el update.
Podemos hacer x input igual a.
Input.
Get access.
Horizontal.
Ahora guardemos esto.
Volvamos a Unity.
Tenemos x input que es cero, y si presionamos x input como las teclas de dirección, podemos ver que el valor
cambia de 0 a 1 o a menos uno.
Y podemos ver que crece o disminuye lentamente hasta el valor necesario.
Así que no se convierte en 1 o -1 inmediatamente.
Esto dará como resultado un movimiento donde el jugador acelera lentamente, lo cual realmente no quiero.
Quiero un movimiento rápido y responsivo.
Por eso vamos a usar get axis row aquí.
Vamos a escribir row.
Y ahora si guardas esto y lo pruebas de nuevo verás que x input cambia a -1 o 1 inmediatamente.
Sin ese cambio gradual, puedes ver uno menos uno.
Esto es muy bueno para nosotros porque quiero controles responsivos y rápidos en este platformer.
Ahora volvamos al jugador.
Y usemos esta entrada para mover el personaje.
Solo tengo que hacerlo privado porque ya no necesito verlo.
Sabemos cómo funciona.
Y en el update vamos a usar RB dot velocity igual a new vector two x input.
Y para la y usaremos rb velocity dot y.
Probémoslo primero.
Y luego explicaré qué hicimos aquí.
Vamos a play mode.
Y puedo moverme a la izquierda o a la derecha muy despacio, pero me muevo, lo cual es genial.
¿Qué pasó realmente?
RB es un componente rigid body, que discutimos antes.
Así que al obtener un componente aquí, básicamente decimos que este RB es este rigid body de aquí.
Y luego cuando escribimos RB en el update, básicamente decimos, oye tú rigid body, escúchame.
Y luego ponemos dot velocity y controlamos la velocidad de ese rigid body.
¿Por qué lo ponemos en vector two?
Es una pregunta simple con una respuesta simple.
Todo en el mundo 2D funciona con un vector two.
De hecho, tengo un buen video que explica cómo funciona vector two.
Quizá adjunte el enlace a esta lección y puedes verlo.
Creo que es muy bueno.
Pero brevemente, puedes ver solo dos vectores y y x.
Y la regla es simple.
Quieres mover el objeto a la derecha.
Cambia su posición en X, hazla mayor.
Se moverá a la derecha.
Hazla menor.
Se moverá a la izquierda.
Así es como funciona vector two, ¿verdad?
Tenemos x y y va hacia ese lado.
Así 123 menos uno menos dos menos tres.
Lo mismo para la Y 123 menos uno menos dos menos tres.