Hola. Bienvenidos a esta lección de Unity. En estas lecciones, aprenderá cómo utilizar entradas para controlar al jugador en Unity. Desde Unity Hub, abra el proyecto Platformer. Abre la escena del Nivel 1. Si la paleta de mosaicos aún está abierta, puede cerrarla. Creemos nuestro reproductor prefabricado y luego aprendamos a controlarlo. usando las entradas predeterminadas de Unity. En el panel del proyecto, abra la carpeta Pixel Adventure 1 en el Carpeta de activos. Activos abiertos. Personajes principales. Y luego abra la carpeta Virtual Guy. Selecciona el objeto Ejecutar. Puedes ver en el inspector que esta es una tira animada de sprites, 32 píxeles de alto. Confirma que el modo sprite esté configurado en Múltiple. Y establezca los píxeles por unidad en 32. Asegúrate de hacer clic en Aplicar. Haga clic en el triángulo a la derecha de Ejecutar. Puedes ver todos los sprites animados en una secuencia. Seleccionemos con Shift todos estos sprites. Haga clic en el primero. Mayús haga clic en el último. Luego arrastre esta selección a la jerarquía. Aparecerá un solicitante. Vaya a sus Activos. Su carpeta de Activos principales. Animaciones. Llamaremos a esto Ejecutar. Ahora seleccione Ejecutar. En la jerarquía, presione F2. Y cámbiele el nombre a Player. En el inspector, cambie la capa de clasificación a Primer plano. Esto es muy importante. Abra la carpeta Prefabs. Arrastra al jugador hacia adentro. El icono se vuelve azul. Y ahora tenemos una casa prefabricada para nuestro reproductor. En el panel de escena, mueve el jugador hacia la izquierda. Seleccione Jugador en la jerarquía. En el panel de escena, presiona W para moverte. Y haz clic en una X y mueve tu reproductor hacia la izquierda. Guarda la escena. Ahora presiona Reproducir. El jugador hace bucles y ejecuta movimientos, pero no avanza. en cualquier lugar. Él también está flotando sobre el suelo. La forma en que moveremos este reproductor, así como también habilitaremos La detección de colisiones se realiza mediante el uso del sistema de física 2D de Unity. Deja de jugar. Con el jugador seleccionado, en el inspector, haga clic en Agregar componente y seleccione Rigidbody 2D. Esto añade física al jugador, pero también necesitamos definir un área de colisión alrededor del jugador. Haga clic en Agregar componente nuevamente. Y busca Box. Y queremos agregar un Box Collider 2D. Asegúrese de agregar solo componentes 2D. Haga clic derecho en el panel de escena. Y haz clic en F para enmarcar a tu jugador. En el inspector, haga clic en Editar colisionador. Verá un cuadro delimitador alrededor del reproductor. Haga clic en los puntos a cada lado del cuadro para rodear el jugador. Haz clic en Reproducir y veamos qué pasa. El jugador ahora cae por gravedad, pero está atravesando el terreno. Necesitamos agregar un colisionador especial al suelo. Deja de jugar. Gira la cuadrícula abierta. Seleccione Primer plano. En el inspector, haga clic en Agregar componente y busque Mosaico. Necesitamos seleccionar Tile Map Collider 2D, que es un especial tipo de colisionador. Volvamos a darle al play. Ahora el jugador aterriza y permanece en el suelo. Esto es un gran comienzo. Ahora necesitamos agregar algo de código a este reproductor para poder usar el teclado para controlar su movimiento. Abra la carpeta de secuencias de comandos. Haga clic derecho y cree una nueva secuencia de comandos en C Sharp. Y llámalo PlayerControl. Recuerde siempre nombrar inmediatamente. Verifique que el nombre de su script coincida con la clase pública en el inspector. Seleccione el jugador en la jerarquía, y arrastre este script al reproductor. Si no tienes suficiente espacio en el inspector, puedes girar hacia abajo y colapsar algunos de los paneles. Abra el guión. Haga clic con el cursor después de la primera llave, y presione enter para hacer algo de espacio. Debido a que este es un movimiento basado en la física, necesitamos definir un cuerpo rígido y establecer una velocidad variable. Así que voy a escribir cuerpo rígido privado 2D y nombraremos esta variable RB. Presione Enter nuevamente para dejar más espacio para la siguiente línea. y escriba public float. Llamaremos a esta variable moveSpeed, y le daremos un valor inicial de 4. No olvides la letra F después del número 4, porque este es un variable flotante. Public nos permite ajustar esta variable desde el editor. Presione Enter nuevamente para agregar algo de espacio. Haga clic dentro del método de inicio, y el tipo RB es igual a getComponent. Queremos obtener el Componente con los corchetes, y el soporte se encuentra en su teclado. Si presionas mayúsculas coma, vamos a escribir cuerpo rígido 2D, y al final estamos voy a agregar paréntesis, y un punto y coma. Esto configura nuestro nombre de variable de cuerpo rígido, RB, para reaccionar con el componente de cuerpo rígido que agregamos al reproductor. Esto nos permite enviar comandos a la variable RB, como velocidad, lo que hará que nuestro jugador se mueva en varios direcciones. Guarde el código y minimice Visual Studio. Antes de continuar con el código del reproductor, debemos comprender cómo funciona Unity. tiene las teclas del teclado asignadas como entradas predeterminadas. Abra Editar, Configuración del proyecto, en la columna de la izquierda, seleccione el Administrador de entrada. A la derecha, verá una lista de ejes para los diferentes tipos de entrada. Gire los ejes abiertos, puede ingresar tipos, como mouse y teclado. Gire para abrir Horizontal y tome nota del nombre Horizontal. Y comienza con H mayúscula. Necesitamos escribir esto exactamente en el código. Más abajo, puedes ver un botón negativo y positivo. Un botón negativo devuelve el valor de menos 1 y un botón positivo devuelve más 1 Izquierda significa flecha izquierda en su teclado, derecha es una flecha derecha. También puedes presionar las teclas A o D para las mismas acciones. Básicamente, el valor horizontal cambiaría si presionas A, D, para las teclas de flecha izquierda o derecha. Cierre el panel, abra la carpeta Scripts. Haga doble clic en el script Player Control, Visual Studio, agregaremos un método de actualización especial que funciona mejor con el movimiento basado en la física. Haga clic en la línea después del método "Inicio". Presione Enter para crear una habitación, luego escriba Void, Actualización fija. Tenga en cuenta que IntelliSense establecerá automáticamente los paréntesis y las llaves. Dentro de las llaves, vamos a escribir Float moveDirection, esta es una variable que se crea sobre la marcha. es igual, input.getAxisRaw, paréntesis y necesitamos comillas y, si recuerdas, Horizontal se escribe con H mayúscula, debemos escribirlo correctamente o, de lo contrario, no funcionará. y no olvides tu punto y coma. Esto crea una variable sobre la marcha, que llamamos moveDirection contiene un valor de la entrada Horizontal, presionemos Enter para una nueva línea. y escriba rb.velocity=new vector2, paréntesis, moveDirection, que es una de nuestras variables. Multiplicaremos eso por moveSpeed, colocaremos una coma y terminaremos con rb.velocity.y. Esa es la velocidad hacia arriba y hacia abajo en la dirección Y. La velocidad para un juego 2D es un vector2, es decir, movimiento en la dirección X e Y. El jugador viajará en la dirección X, según un resultado positivo o negativo. dirección del movimiento, multiplicada por la velocidad del movimiento. El segundo valor después de la coma es, la Y o el valor arriba y abajo, que ahora permanecerá en cero. Guarde el script y minimice Visual Studio. Juega el nivel y ahora, si presionas la tecla A o D o la flecha izquierda o derecha, puedes mover tu jugador hacia adelante y hacia atrás. Esta es una buena velocidad para el juego y parece que estamos logrando algunos avances. Guarda la escena. En la próxima lección, aprenderemos cómo Instale el nuevo sistema de entrada en Unity. Gracias por ver.