A Parede
Lição 5 de 19 do curso Jogo Unity: Quebra-Tijolos da Coddy.
Os tijolos ficam dispostos em uma grade: linhas de cima para baixo, colunas da esquerda para a direita, cada uma sendo uma cópia do prefab Brick criado em dois loops aninhados. Primeiro, uma linha:
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 colunas há n menos 1 espaços, então a primeira fica à esquerda por metade de (n - 1) * spacing: 5 colunas com distância 2 ficam nas posições -4, -2, 0, 2 e 4. Cada linha fica spacingY mais abaixo que a anterior. O quarto argumento de Instantiate é o objeto pai, então cada tijolo fica sob o objeto Wall. Com um tipo de script como Brick no campo do prefab, Instantiate retorna o script do novo tijolo.
Desafio
MédioConstrua uma parede de tijolos centralizada.
- Em
GameManager, adicionepublic Brick brickPrefab;,public Transform wall;,rows = 5,columns = 9,spacingX = 1.75f,spacingY = 0.75f,topY = 6f. BuildWall(): um tijolo filho dewallpara cada linha e coluna, nas coordenadas xleft + col * spacingX, ytopY - row * spacingY, z 0, comleft = -(columns - 1) * spacingX / 2f.Start()chamaBuildWall().
Pressione “Jogar”: 45 tijolos ficam dispostos em uma grade (eles ainda não quebram). Depois, pressione “Verificar”.
Experimente você mesmo
using UnityEngine;
public class GameManager : MonoBehaviour
{
public static GameManager Instance;
void Awake()
{
Instance = this;
}
// Mais tarde: a parede de tijolos, a pontuação, as vidas e os níveis.
}
Todas as lições de Jogo Unity: Quebra-Tijolos
Pratique por conta própria: Playground de Unity