C# para Unity · Sección 2

Fundamentos de C# para gameplay

Variables, tipos, operadores, cadenas, métodos, enum, struct, arrays, conversiones y diferencias de inicialización entre clases comunes y componentes.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido C#, Unity y el primer componente.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Tipos y expresiones con Métodos y modelos de datos y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.

04 / PREPARA EL LABORATORIO

Instala Unity Hub, una versión LTS compatible y un IDE con integración para C#. Conserva un proyecto de laboratorio separado.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Tipos y expresiones y Métodos y modelos de datos? +

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Construirás la base de C# necesaria para leer scripts de gameplay y representar datos sin conversiones ni estados ambiguos.

Al terminar podrás
  • Tipos, nombres y operadores deben comunicar intención
  • Un método hace visible qué recibe y qué produce
  • Conversión segura y ciclo de Unity no son lo mismo
01
Representar datos

Tipos, nombres y operadores deben comunicar intención

int sirve para conteos, float para magnitudes aproximadas, bool para estados y string para texto. enum representa opciones cerradas y struct agrupa valores pequeños. Los paréntesis vuelven explícito el orden de una expresión.

01

Usa nombres con significado y unidades cuando corresponda.

02

Evita números mágicos mediante constantes o datos configurables.

03

Compara float con tolerancia cuando la precisión importe.

Comprueba lo aprendido · 01

¿Por qué EstadoJugador es mejor que guardar 0, 1 o 2?

Mostrar respuesta +

Porque los nombres expresan significado, el compilador limita los valores y un switch puede mostrar con claridad qué casos fueron considerados.

02
Separar operaciones

Un método hace visible qué recibe y qué produce

Los parámetros son entradas y return entrega un resultado. Un método pequeño se comprende y prueba mejor. Arrays agrupan una cantidad fija; los índices comienzan en cero y siempre deben respetar Length.

01

Una firma clara evita depender de campos ocultos.

02

Un método puro facilita probar casos frontera.

03

Un índice válido está entre cero y Length menos uno.

Comprueba lo aprendido · 02

¿Qué ventaja tiene devolver el daño en lugar de modificar directamente la vida de otro objeto?

Mostrar respuesta +

Separa cálculo y efecto. Puedes verificar la fórmula por sí sola y decidir en otro lugar cómo aplicar, registrar o mostrar el resultado.

03
Crear estados válidos

Conversión segura y ciclo de Unity no son lo mismo

TryParse permite validar texto sin lanzar una excepción esperable. Los constructores son apropiados para clases C# comunes, pero un MonoBehaviour es creado por Unity: sus referencias internas se preparan en Awake y sus dependencias de escena se comprueban explícitamente.

01

TryParse distingue entrada válida de inválida.

02

Un constructor deja una clase común en estado coherente.

03

MonoBehaviour usa mensajes del ciclo de vida, no new.

Comprueba lo aprendido · 03

¿Por qué no debes escribir new MiComponente() para crear un MonoBehaviour?

Mostrar respuesta +

Porque Unity administra la identidad, serialización y ciclo de los componentes. Debes agregarlo a un GameObject o instanciar un prefab que ya lo contenga.

Resumen de la sección

Tu recorrido en tres ideas

  1. Tipos, nombres y operadores deben comunicar intención
  2. Un método hace visible qué recibe y qué produce
  3. Conversión segura y ciclo de Unity no son lo mismo
CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Elegir tipos por costumbre y depender de conversiones implícitas o números mágicos.

ERROR 02

Intentar construir un MonoBehaviour con new o dejar datos inválidos hasta que otra clase los corrija.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Modela vida, velocidad, estado y daño de un personaje; separa el cálculo de daño y valida una entrada textual de munición.

Mostrar pauta de corrección +
Una respuesta sólida:
  • Tipos, nombres, unidades y enum comunican intención.
  • El método de cálculo puede probarse sin escena.
  • TryParse y límites tratan entradas normales, fronterizas e inválidas.