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
MovimientoJugadora 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
