Menu
CoddyTech

벽

Coddy의 Unity 게임: 벽돌 깨기 코스 레슨. 19개 중 5번째.

벽돌은 격자 형태로 놓입니다. 위에서 아래로 행이 이어지고, 왼쪽에서 오른쪽으로 열이 이어지며, 중첩된 두 개의 반복문에서 만든 Brick 프리팹이 각각 복제됩니다. 먼저 한 행을 배치합니다.

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

n개의 열 사이에는 n - 1개의 간격이 있으므로 첫 번째 열은 왼쪽으로 (n - 1) * spacing의 절반만큼 떨어져 있습니다. 간격이 2인 열 5개는 -4, -2, 0, 2, 4 위치에 놓입니다. 각 행은 이전 행보다 spacingY만큼 더 아래에 배치됩니다. Instantiate의 네 번째 인수는 부모이므로 모든 벽돌은 Wall 오브젝트 아래에 배치됩니다. 프리팹 필드의 스크립트 유형으로 Brick과 같은 유형을 지정하면 Instantiate는 새 벽돌의 스크립트를 반환합니다.

challenge icon

챌린지

중급

벽돌을 가운데 정렬된 벽으로 배치하세요.

  1. GameManager에 public Brick brickPrefab;, public Transform wall;, rows = 5, columns = 9, spacingX = 1.75f, spacingY = 0.75f, topY = 6f를 추가하세요.
  2. BuildWall(): 각 행과 열마다 wall 아래에 벽돌을 하나씩 배치하세요. x는 left + col * spacingX, y는 topY - row * spacingY, z는 0으로 하고, left = -(columns - 1) * spacingX / 2f로 설정하세요.
  3. Start()에서 BuildWall()을 호출하세요.

‘플레이’를 누르세요. 벽돌 45개가 격자 모양으로 배치됩니다(아직 부서지지는 않습니다). 그런 다음 ‘확인’을 누르세요.

직접 해보기

using UnityEngine;

public class GameManager : MonoBehaviour
{
    public static GameManager Instance;

    void Awake()
    {
        Instance = this;
    }

    // 나중에: 벽돌 벽, 점수, 목숨, 레벨.
}

Unity 게임: 벽돌 깨기의 모든 레슨

직접 연습해 보세요: Unity 플레이그라운드