jairogarcíarincón

Roll-a-Ball: Movimiento del Jugador


362

Uso de Jetbrains Rider como editor de código por defecto



Antes de crear el script que se encargará del movimiento del Jugador, debemos cambiar una preferencia en Unity para que todos los scripts se abran con el editor Jetbrains Rider instalado anteriormente:

  • Haz clic en el menú Edit > Preferences...
  • Selecciona la pestaña External Tools
  • En la sección External Script Editor, selecciona la versión de Rider instalada previamente.


External Tools
Fuente: Elaboración propia


Creación del script



El primer objetivo del juego será poder mover el jugador por el plano, evitando además que se salga de él mediante unas barreras con las que tendrá que colisionar (collide).

Para ello, debemos hacer uso del sistema de física (physics) de Unity. En concreto, haremos uso del componente Rigidbody.

Selecciona el objeto Jugador y, desde la Inspector Window, haz clic en Add component, empieza a escribir Rigidbody y en seguida podrás seleccionarlo y se añadirá al objeto Jugador.

Para que las flechas del teclado (o cualquier otro dispositivo de entrada) muevan al jugador, debemos crear un script. Ya comentamos que un script de programación es un conjunto de órdenes que nos permiten controlar la interactividad de nuestro juego.

Si bien en Unity se puede programar con diferentes lenguajes de programación, el más utilizado es C#, una evolución del lenguaje C original.

Crea una nueva carpeta en tu ventana de Project (dentro de Assets) llamada Scripts.

NOTA: Es recomendable y mejora la visualización tener la Project Window en vista de 2 columnas. Para ello, haz clic derecho en Project > Two Column Layout.

Dentro de la carpeta Scripts, clic derecho, Create > C# script con el nombre JugadorController. Haz doble clic en él y Jetbrains Rider debería abrirse con el archivo JugadorController:

Script


En la figura anterior podemos ver la estructura básica de un script C#. Vemos que se compone de una clase pública public class (un objeto que se puede utilizar desde cualquier punto de la aplicación) y que dentro tiene 2 funciones o métodos llamados Start y Update que no devuelven nada (void).

Las funciones o métodos son pequeños conjuntos de instrucciones que, de nuevo, podremos llamar desde otros puntos de la aplicación.

Por defecto, la función Start se ejecutará al arrancar la aplicación, de modo que todo lo que hagamos en ella se ejecutará sin más (inicializar contadores, escenas, etc.)

La función Update se ejecuta cada frame del juego , y es en la que añadiremos toda la lógica de actualización del juego (movimientos, detección de colisiones, etc.). No obstante, cuando actualice fuerzas físicas tales como movimientos o giros, es mejor utilizar FixedUpdate, ya que se ejecutará 0, una o varias veces por frame en función de los frames de física del motor de Unity e irá más sincronizado.

Añade el siguiente código a tu script, si bien te recomiendo escribirlo tu mismo en vez de copiar y pegar, ya que cogerás destreza en evitar errores de sintaxis, algo muy común en programación:



Una vez hecho, guarda el script, vuelve a Unity y comprueba en la barra de estado inferior que no hay errores.

Para finalizar, debemos asignar el script a nuestro Jugador, algo tan simple como seleccionar el Jugador y arrastrar nuestro script desde la Project Window a la Inspector window que contienen las propiedades del Jugador.

Si todo se ha hecho correctamente, al ejecutar el juego verás que el Jugador se mueve al presionar las flechas o WASD, aunque muy despacio.

Modifica el script para que incluya una variable que nos permita multiplicar el movimiento por una determinada cantidad o velocidad:



Ahora verás que en la Inspector window, apartado Jugador Controller, tienes la posibilidad de modificar la velocidad del jugador. Prueba con diferentes valores.

Velocidad


Publicado el 21 de Octubre de 2021

unityvideojuegos2d3d