책이랑 구글링으로 본 지식 긁어모아서 벽돌깨기 만들었는데
인스펙터에 벽돌 갯수 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 넣고 돌린 화면
이미지 넣기 귀찮아서 그냥 오브젝트로 함
잘했어 근데 일반적으로는 정해진 크기의 벽돌을 생성하고 카메라 크기를 거기에 맞출듯
오
근데 뭐든 결과만 잘 나오면 상관없어 필요하면 고치면 되는거고