Objetivos del Módulo
En este módulo, aprenderás los conceptos básicos de C# y cómo se aplica en el entorno de Unity. Al final de este módulo, deberías ser capaz de:
- Comprender la sintaxis básica de C#.
- Crear y adjuntar scripts en Unity.
- Utilizar las funciones básicas de MonoBehaviour.
- Manejar entradas básicas del usuario.
Contenido
- ¿Qué es C#?
C# es un lenguaje de programación orientado a objetos desarrollado por Microsoft. Es ampliamente utilizado en el desarrollo de aplicaciones de escritorio, web y juegos. En Unity, C# es el lenguaje principal para escribir scripts que controlan el comportamiento de los objetos del juego.
- Sintaxis Básica de C#
Variables y Tipos de Datos
Las variables son contenedores para almacenar datos. En C#, cada variable tiene un tipo de dato que define qué tipo de datos puede almacenar.
int numero = 10; // Entero float decimal = 5.5f; // Número decimal string texto = "Hola, Mundo"; // Cadena de texto bool esVerdadero = true; // Booleano
Estructuras de Control
Las estructuras de control permiten dirigir el flujo del programa.
- Condicionales (if, else if, else):
int edad = 18; if (edad >= 18) { Debug.Log("Eres mayor de edad."); } else { Debug.Log("Eres menor de edad."); }
- Bucles (for, while):
// Bucle for for (int i = 0; i < 5; i++) { Debug.Log("Iteración: " + i); } // Bucle while int contador = 0; while (contador < 5) { Debug.Log("Contador: " + contador); contador++; }
Funciones y Métodos
Las funciones son bloques de código que realizan una tarea específica y pueden ser reutilizadas.
- Integración de C# en Unity
Creación de Scripts
Para crear un script en Unity:
- En el panel "Project", haz clic derecho y selecciona Create > C# Script.
- Nombra tu script y haz doble clic para abrirlo en tu editor de código (por defecto, Visual Studio).
Estructura de un Script en Unity
Un script básico en Unity hereda de la clase MonoBehaviour
y puede contener varios métodos predefinidos.
using UnityEngine; public class MiPrimerScript : MonoBehaviour { // Este método se llama una vez al inicio void Start() { Debug.Log("El juego ha comenzado"); } // Este método se llama una vez por frame void Update() { Debug.Log("Frame actualizado"); } }
- Ejemplo Práctico: Movimiento de un Objeto
Vamos a crear un script que permita mover un objeto en el juego utilizando las teclas de flecha.
Paso 1: Crear el Script
- Crea un nuevo script llamado
MovimientoJugador
. - Abre el script y escribe el siguiente código:
using UnityEngine; public class MovimientoJugador : MonoBehaviour { public float velocidad = 5.0f; void Update() { float movimientoHorizontal = Input.GetAxis("Horizontal") * velocidad * Time.deltaTime; float movimientoVertical = Input.GetAxis("Vertical") * velocidad * Time.deltaTime; transform.Translate(movimientoHorizontal, 0, movimientoVertical); } }
Paso 2: Adjuntar el Script a un Objeto
- Arrastra el script
MovimientoJugador
a un objeto en la escena (por ejemplo, un cubo). - Ajusta la velocidad en el Inspector si es necesario.
- Ejercicio Práctico
Ejercicio 1: Rotación de un Objeto
Crea un script que permita rotar un objeto utilizando las teclas de flecha izquierda y derecha.
Solución:
using UnityEngine; public class RotacionObjeto : MonoBehaviour { public float velocidadRotacion = 100.0f; void Update() { float rotacion = Input.GetAxis("Horizontal") * velocidadRotacion * Time.deltaTime; transform.Rotate(0, rotacion, 0); } }
- Resumen
En este módulo, hemos cubierto los conceptos básicos de C# y cómo se integra en Unity. Aprendimos sobre variables, estructuras de control, funciones y cómo crear y adjuntar scripts en Unity. También vimos un ejemplo práctico de cómo mover un objeto en el juego.
En el próximo módulo, profundizaremos en la creación y adjunto de scripts, y exploraremos más sobre el ciclo de vida de MonoBehaviour
.
¡Sigue practicando y nos vemos en el siguiente módulo!
Curso de Unity
Módulo 1: Introducción a Unity
- Introducción a Unity e Instalación
- Descripción General de la Interfaz de Unity
- Creando Tu Primer Proyecto
- Objetos de Juego Básicos y Componentes
Módulo 2: Programación Básica en Unity
- Introducción a C# para Unity
- Creación y Adjunto de Scripts
- Entendiendo MonoBehaviour
- Manejo Básico de Entradas
Módulo 3: Trabajando con Activos
- Importación y Gestión de Activos
- Uso de la Tienda de Activos
- Creación y Uso de Prefabs
- Animación Básica
Módulo 4: Física y Colisiones
- Introducción a la Física en Unity
- Cuerpos Rígidos y Colisionadores
- Detección Básica de Colisiones
- Uso de Materiales Físicos
Módulo 5: Interfaz de Usuario (UI)
- Introducción a la UI de Unity
- Creación y Personalización de Elementos UI
- Manejo de Eventos UI
- Creación de Menús y HUDs
Módulo 6: Audio en Unity
- Introducción al Audio en Unity
- Importación y Uso de Clips de Audio
- Programación Básica de Audio
- Audio 3D y Sonido Espacial
Módulo 7: Programación Avanzada
- Conceptos Avanzados de C# para Unity
- Corutinas y Programación Asíncrona
- Objetos Scriptables
- Editores Personalizados y Gizmos
Módulo 8: Física Avanzada e IA
- Técnicas Avanzadas de Física
- Búsqueda de Caminos y Navegación
- Programación Básica de IA
- Máquinas de Estado y Árboles de Comportamiento
Módulo 9: Optimización y Rendimiento
- Técnicas de Perfilado y Optimización
- Gestión de Memoria
- Reducción de Llamadas de Dibujo
- Optimización de Física y Colisiones