책이랑 구글링으로 본 지식 긁어모아서 벽돌깨기 만들었는데

인스펙터에 벽돌 갯수 n*m개 입력하면 카메라 사이즈에 딱 맞게 벽돌 생성되는 코드 짰어



using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class BlockGenerator : MonoBehaviour

{

    public Camera cameraSize;

    public int hBlockNum;     // 인스펙터에 가로 벽돌 갯수 입력

    public int vBlockNum;     // 인스펙터에 세로 벽돌 갯수 입력

    GameObject block;     // 인스펙터에 프리팹 장착

    void Start()

    {

        float cameraSizeY = cameraSize.orthographicSize * 2;     // 카메라 Y축 길이

        float cameraSizeX = cameraSizeY * cameraSize.aspect;     // 카메라 X축 길이


        float blockSizeX = cameraSizeX / hBlockNum;     // 벽돌 너비 (x축)

        float blockSizeY = (cameraSizeY / 2) / vBlockNum;     // 벽돌 높이 (y축)

        block.transform.localScale = new Vector2(blockSizeX, blockSizeY);     // 벽돌 사이즈 설정

        block.transform.position = new Vector2((-cameraSizeX + blockSizeX) * 0.5f, 0);     // 벽돌 초기 위치

        Vector2 blockPos = block.transform.position;     // 벽돌 초기위치를 변수로 선언


        for (int i = 0; i < vBlockNum; i++)

        {

            blockPos.y = i * blockSizeY;

            

for (int j = 0; j < hBlockNum; j++)

            {

                Instantiate(block, new Vector2(blockPos.x + (j * blockSizeX), blockPos.y), Quaternion.identity);

            }

        }

    }


    // Update is called once per frame

    void Update()

    {

        

    }

}









인스펙터에 5x5 넣고 돌린 화면

이미지 넣기 귀찮아서 그냥 오브젝트로 함