En este tema, aprenderás cómo crear scripts en Unity utilizando C# y cómo adjuntarlos a los objetos de juego. Los scripts son fundamentales para definir el comportamiento de los objetos en tu juego. Vamos a desglosar este proceso en pasos claros y fáciles de seguir.

  1. Creación de un Script en Unity

Paso 1: Crear un Script

  1. Abrir Unity y tu Proyecto: Asegúrate de tener tu proyecto abierto en Unity.
  2. Navegar a la Carpeta de Scripts: En la ventana del Proyecto, navega a la carpeta donde deseas guardar tu script. Si no tienes una carpeta específica para scripts, es una buena práctica crear una nueva carpeta llamada "Scripts".
  3. Crear el Script:
    • Haz clic derecho en la carpeta de Scripts.
    • Selecciona Create > C# Script.
    • Nombra tu script, por ejemplo, PlayerController.

Paso 2: Editar el Script

  1. Abrir el Script: Haz doble clic en el script que acabas de crear. Esto abrirá tu editor de código (por defecto, Visual Studio).
  2. Estructura Básica del Script:
    using UnityEngine;
    
    public class PlayerController : MonoBehaviour
    {
        // Start is called before the first frame update
        void Start()
        {
            // Código de inicialización
        }
    
        // Update is called once per frame
        void Update()
        {
            // Código que se ejecuta en cada frame
        }
    }
    
    • using UnityEngine;: Importa el espacio de nombres de Unity.
    • public class PlayerController : MonoBehaviour: Define una clase pública llamada PlayerController que hereda de MonoBehaviour.
    • void Start(): Método que se llama una vez al inicio.
    • void Update(): Método que se llama una vez por frame.

  1. Adjunto de Scripts a Objetos de Juego

Paso 1: Seleccionar el Objeto de Juego

  1. Seleccionar el Objeto: En la ventana de la Jerarquía, selecciona el objeto de juego al que deseas adjuntar el script. Por ejemplo, un objeto llamado Player.

Paso 2: Adjuntar el Script

  1. Método de Arrastrar y Soltar:
    • Arrastra el script desde la ventana del Proyecto y suéltalo sobre el objeto de juego en la ventana de la Jerarquía o en el Inspector.
  2. Método del Inspector:
    • Con el objeto de juego seleccionado, ve al Inspector.
    • Haz clic en Add Component.
    • Escribe el nombre del script (por ejemplo, PlayerController) y selecciónalo de la lista.

Paso 3: Verificar el Adjunto

  1. Verificar en el Inspector: Una vez adjuntado, deberías ver el script como un componente en el Inspector del objeto de juego.

  1. Ejemplo Práctico: Movimiento del Jugador

Vamos a crear un script simple para mover un objeto de juego en respuesta a las entradas del usuario.

Paso 1: Crear el Script de Movimiento

  1. Crear el Script: Sigue los pasos anteriores para crear un nuevo script llamado PlayerMovement.
  2. Editar el Script:
    using UnityEngine;
    
    public class PlayerMovement : MonoBehaviour
    {
        public float speed = 5.0f;
    
        // Update is called once per frame
        void Update()
        {
            float moveHorizontal = Input.GetAxis("Horizontal");
            float moveVertical = Input.GetAxis("Vertical");
    
            Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
            transform.Translate(movement * speed * Time.deltaTime);
        }
    }
    
    • public float speed = 5.0f;: Define una variable pública para la velocidad del jugador.
    • Input.GetAxis("Horizontal") y Input.GetAxis("Vertical"): Captura las entradas del teclado.
    • Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);: Crea un vector de movimiento.
    • transform.Translate(movement * speed * Time.deltaTime);: Mueve el objeto de juego.

Paso 2: Adjuntar el Script al Objeto de Juego

  1. Seleccionar el Objeto de Juego: Selecciona el objeto de juego Player.
  2. Adjuntar el Script: Usa uno de los métodos mencionados anteriormente para adjuntar el script PlayerMovement.

Paso 3: Probar el Movimiento

  1. Ejecutar el Juego: Haz clic en el botón de Play en la parte superior de la ventana de Unity.
  2. Mover el Jugador: Usa las teclas de flecha o WASD para mover el objeto de juego Player.

Ejercicio Práctico

Ejercicio 1: Rotación del Jugador

Crea un script que permita rotar el objeto de juego Player usando las teclas de flecha izquierda y derecha.

Solución:

  1. Crear el Script: Crea un nuevo script llamado PlayerRotation.
  2. Editar el Script:
    using UnityEngine;
    
    public class PlayerRotation : MonoBehaviour
    {
        public float rotationSpeed = 100.0f;
    
        // Update is called once per frame
        void Update()
        {
            float rotation = Input.GetAxis("Horizontal") * rotationSpeed * Time.deltaTime;
            transform.Rotate(0, rotation, 0);
        }
    }
    
  3. Adjuntar el Script: Adjunta el script PlayerRotation al objeto de juego Player.
  4. Probar la Rotación: Ejecuta el juego y usa las teclas de flecha izquierda y derecha para rotar el objeto de juego Player.

Conclusión

En esta lección, has aprendido cómo crear y adjuntar scripts en Unity. Los scripts son esenciales para definir el comportamiento de los objetos de juego y permiten una gran flexibilidad en el desarrollo de juegos. Practica creando y adjuntando diferentes scripts para familiarizarte con el proceso y experimentar con diferentes comportamientos. En la próxima lección, profundizaremos en el uso de MonoBehaviour y cómo aprovechar sus métodos para controlar el ciclo de vida de los objetos de juego.

Curso de Unity

Módulo 1: Introducción a Unity

Módulo 2: Programación Básica en Unity

Módulo 3: Trabajando con Activos

Módulo 4: Física y Colisiones

Módulo 5: Interfaz de Usuario (UI)

Módulo 6: Audio en Unity

Módulo 7: Programación Avanzada

Módulo 8: Física Avanzada e IA

Módulo 9: Optimización y Rendimiento

Módulo 10: Publicación y Más Allá

© Copyright 2024. Todos los derechos reservados