Menu
CoddyTech

Il muro

Lezione 5 di 19 del corso Gioco in Unity: Rompi i mattoni di Coddy.

I mattoni sono disposti in una griglia: righe dall’alto verso il basso, colonne da sinistra a destra, ciascuno una copia del prefab Brick creata con due cicli annidati. Prima una riga:

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);
}

Tra n colonne ci sono n meno 1 spazi, quindi il primo mattone si trova a metà di (n - 1) * spacing verso sinistra: 5 colonne distanziate di 2 si trovano a -4, -2, 0, 2 e 4. Ogni riga si trova spacingY più in basso rispetto alla precedente. Il quarto argomento di Instantiate è il genitore, quindi ogni mattone si trova sotto l’oggetto Wall. Se il campo del prefab ha un tipo di script come Brick, Instantiate restituisce lo script del nuovo mattone.

challenge icon

Sfida

Medio

Crea una parete di mattoni centrata.

  1. In GameManager, aggiungi public Brick brickPrefab;, public Transform wall;, rows = 5, columns = 9, spacingX = 1.75f, spacingY = 0.75f, topY = 6f.
  2. BuildWall(): un mattone sotto wall per ogni riga e colonna, in x left + col * spacingX, y topY - row * spacingY, z 0, con left = -(columns - 1) * spacingX / 2f.
  3. Start() chiama BuildWall().

Premi «Gioca»: 45 mattoni formano una griglia (non si rompono ancora). Poi premi «Verifica».

Provalo tu

using UnityEngine;

public class GameManager : MonoBehaviour
{
    public static GameManager Instance;

    void Awake()
    {
        Instance = this;
    }

    // Più avanti: il muro di mattoni, il punteggio, le vite e i livelli.
}

Tutte le lezioni di Gioco in Unity: Rompi i mattoni

Esercitati da solo: Playground Unity