Contenido del curso
Empezando Nuestro Proyecto
Teoría de Gameplay
Mecánica Principal
- 8

Crea la cuadrícula del juego en Unity
07:59 min - 9

Cámara ortográfica automática en Unity
13:06 min - 10

Sistema de coordenadas para piezas en Unity
Viendo ahora - 11

Piezas aleatorias en la cuadrícula Unity
13:39 min - 12

Mover piezas en Unity con DOTween
07:52 min - 13

Intercambio de piezas con arrays 2D en Unity
14:45 min - 14

Permitiendo solo ciertos tipos de movimientos
05:38 min - 15

Lógica de Match 3 en cuatro direcciones
16:11 min - 16

Detectar Match 3 con corrutinas en Unity
10:21 min - 17

Evitar matches por defecto en Match 3
12:29 min - 18

Colapso de columnas en un Match 3
17:31 min - 19

Combos automáticos en Match 3 con corrutinas
07:46 min - 20

Corrutinas para animar piezas en Match 3
07:35 min - 21

Mejorando la animación de las piezas
07:37 min
Publicacion
Diseño del juego
- 24

Hablemos de diseño
01:34 min - 25

Agregando un sistema de puntos
16:45 min - 26

Sistema de tiempo
07:05 min - 27

Interfaz para el sistema de tiempo
09:26 min - 28

Creando sistema de UI
06:26 min - 29

Sistema de UI reactivo al estado del juego
14:36 min - 30

Agregando funcionalidad a la pantalla de game over
09:16 min - 31

Cómo reiniciar board y puntos en Unity
08:39 min - 32

Agregando audio
10:05 min - 33

Terminando el juego
07:38 min
Conclusiones
Sistema de coordenadas para piezas en Unity
Resumen
Crear un sistema de coordenadas en Unity es el primer paso para llenar una cuadrícula de piezas en un juego tipo match-3 o tablero. Aquí aprendes a construir el script de Tile y conectarlo con tu Board para que cada espacio tenga una dirección única dentro del grid.
Cómo se crea el script Tile en Unity
El componente Tile representa cada espacio individual dentro de la cuadrícula. Es la pieza que le da identidad a cada celda y le permite saber dónde vive dentro del tablero.
En la carpeta de scripts, haces clic derecho, eliges Create > C# Script y lo nombras Tile. Al abrirlo en Visual Studio, eliminas las funciones Start y Update porque no las necesitas, y defines tres propiedades públicas que serán el ADN de cada celda:
public int x: coordenada horizontal dentro de la cuadrícula.public int y: coordenada vertical dentro de la cuadrícula.public Board board: referencia al script que controla todo el tablero.
¿Qué es un Tile en Unity? Es un componente que representa un espacio único dentro de una cuadrícula y guarda sus coordenadas más una referencia al tablero al que pertenece.
Cómo funciona la función Setup del Tile
La función Setup recibe los tres valores y los asigna a las propiedades del objeto. Se ve así [01:05]:
csharp public void Setup(int x_, int y_, Board board_) { x = x_; y = y_; board = board_; }
El truco está en usar guion bajo en los parámetros (x_, y_, board_) para diferenciarlos de las propiedades de la clase. Así evitas conflictos de nombres y mantienes el código legible.
Cómo se conecta el Tile con el prefab Empty
El prefab Empty es el molde que se instancia para cada celda del tablero. Para que cada copia tenga su identidad, le agregas el componente Tile directamente desde el inspector con Add Component > Tile [02:15].
No le pongas valores por defecto en el prefab. Esos valores se asignan dinámicamente cuando el script de Board genera cada celda durante la ejecución del juego. Esto mantiene el prefab limpio y reutilizable.
Cómo asignar coordenadas dinámicamente desde Board
En el script de Board, dentro de la función SetupBoard, ya estás instanciando objetos y cambiando su parent. Ahora necesitas obtener el componente Tile de ese objeto recién creado y llamar a su función Setup.
csharp o.GetComponent<Tile>()?.Setup(x, y, this);
Aquí pasan tres cosas interesantes:
GetComponent<Tile>()busca el componente Tile en el objeto instanciado.- El operador
?.evita errores si el componente no se encuentra. Es una red de seguridad que previene null reference exceptions. - La palabra clave
thispasa la referencia del propio Board al Tile, porque el script que está corriendo es de tipo Board.
¿Para qué sirve el operador ?. en C#? Se llama null conditional operator y ejecuta el método solo si el objeto no es nulo. Te ahorra escribir un
ifextra y evita crashes en Unity.
Cómo verificar que las coordenadas funcionan en Unity
Antes de probar, regresa el Camera Size Offset a cero para ver el tablero completo sin el zoom de la clase pasada [03:30]. Le das play y la cuadrícula se genera igual que antes, pero ahora cada celda tiene memoria.
Si haces clic en cualquier celda, el inspector muestra el componente Tile con sus coordenadas asignadas:
- La esquina inferior izquierda es
(0, 0). - Subiendo en diagonal aparece
(1, 1). - La esquina superior derecha llega a
(5, 9).
Cada Tile ahora tiene una dirección única dentro de Unity y dentro de la lógica del juego. Eso significa que puedes preguntarle a cualquier celda dónde está parada, y ella te responde sin dudar.
Por qué este sistema de coordenadas importa para tu juego
Con coordenadas asignadas puedes detectar vecinos, validar movimientos, generar combos y construir la lógica de cualquier juego basado en grid. Sin este paso, el tablero es solo decoración visual.
El siguiente movimiento es crear las piezas que se van a posicionar usando este sistema. Cada pieza tendrá su propia dirección y vivirá dentro de un Tile específico.
¿Ya tienes claro cómo vas a usar las coordenadas para detectar matches en tu propio juego? Cuéntame en los comentarios qué tipo de tablero estás construyendo.