Menu
CoddyTech

La pared

Lección 5 de 19 del curso Juego en Unity: Rompe ladrillos de Coddy.

Los ladrillos se disponen en una cuadrícula: filas de arriba abajo, columnas de izquierda a derecha, cada una una copia del prefab Brick creada en dos bucles anidados. Primero, una fila:

float left = -(columns - 1) * spacingX / 2f;
for (int col = 0; col < columns; col++)
{
    Vector3 pos = new Vector3(left + col * spacingX, topY, 0f);
    Instantiate(brickPrefab, pos, Quaternion.identity, wall);
}

Entre n columnas hay n menos 1 espacios, así que la primera queda a la izquierda a la mitad de (n - 1) * spacing: 5 columnas separadas por 2 quedan en -4, -2, 0, 2 y 4. Cada fila queda spacingY más abajo que la anterior. El cuarto argumento de Instantiate es el objeto padre, así que cada ladrillo queda dentro del objeto Wall. Si el campo del prefab tiene un tipo de script como Brick, Instantiate devuelve el script del nuevo ladrillo.

challenge icon

Desafío

Intermedio

Construye una pared de ladrillos centrada.

  1. En GameManager, añade public Brick brickPrefab;, public Transform wall;, rows = 5, columns = 9, spacingX = 1.75f, spacingY = 0.75f, topY = 6f.
  2. BuildWall(): un ladrillo debajo de wall por cada fila y columna, en x left + col * spacingX, y topY - row * spacingY, z 0, con left = -(columns - 1) * spacingX / 2f.
  3. Start() llama a BuildWall().

Pulsa «Jugar»: 45 ladrillos forman una cuadrícula (todavía no se rompen). Después, pulsa «Comprobar».

Pruébalo tú mismo

using UnityEngine;

public class GameManager : MonoBehaviour
{
    public static GameManager Instance;

    void Awake()
    {
        Instance = this;
    }

    // Más adelante: el muro de ladrillos, la puntuación, las vidas y los niveles.
}

Todas las lecciones de Juego en Unity: Rompe ladrillos

Practica por tu cuenta: Playground de Unity