Cómo Crear un Juego de Tetris en Unity
(Parte 2: Control de Piezas y Rotación)
1. ¿Por qué necesitamos una clase de redondeo (`Vectorf.cs`)?
Cuando los objetos rotan en Unity mediante transformaciones 2D, sus coordenadas suelen generar decimales flotantes (por ejemplo, `x = 3.0001`). Como nuestro tablero trabaja con una matriz discreta de enteros, necesitamos forzar los valores al número entero más cercano para evitar desalineaciones con las celdas.
Crea un script llamado Vectorf.cs con el siguiente código estático:
2. Programando el comportamiento de las fichas (`Shape.cs`)
Cada pieza de Tetris está compuesta por un GameObject principal (el pivote) y varios bloques hijos distribuidos en una cuadrícula local de 4x4. El script Shape.cs se encarga de:
- Movimiento básico: Desplazamientos laterales (izquierda y derecha) y hacia abajo.
- Rotación: Gira la pieza 90 grados utilizando operaciones de transformación local.
- Control de colisión previa: Valida junto al tablero si el movimiento es legal antes de aplicarlo visualmente.
3. Código C# Completo: `Shape.cs`
Crea un nuevo script llamado Shape.cs en tu proyecto y añade el siguiente código optimizado:
Siguiente Lección
En la Parte 3 de esta serie aprenderemos a implementar el sistema de sombra o proyección fantasma (`Ghost.cs`) para que el jugador sepa exactamente dónde aterrizará su pieza.
Deja un comentario