Learning
When: 1학년 7월 5일
How:
원래 타일을 써봤지만 일일이 다 수작업으로 했는데, 수업시간에 타일을 코드를 사용해서 까는 방식이 나와서 그것을 공부하게 되었습니다.
Understanding:
일단 타일은 타일맵으로 깔기 때문에 using UnityEngine.Tilemaps; 를 선언해주어야 하고, Tilemap 클래스를 사용해 Tilemap 컴포넌트를 받아 그 컴포넌트에 SetTile() 메서드를 사용해 타일을 까는 방식을 사용합니다. SetTile() 메서드는 Vector3Int라는 int만 들어갈 수 있는 Vector3 형식의 자료형을 사용하여 그리드 좌표에 타일을 깔고, 2번째 인수에 Tile 형식의 인수를 넣어 원하는 타일을 정해 깔 수 있습니다. 아래는 for문을 이용하여 바깥쪽에 groundTileOutLine을 깔고, 안쪽엔 groundTile을 까는 코드입니다.
using UnityEngine;
using UnityEngine.Tilemaps;
public class BoardManager : MonoBehaviour
{
private Tilemap tilemap;
public int width;
public int height;
public Tile groundTile;
public Tile groundTileOutLine;
private void Start()
{
tilemap = GetComponentInChildren<Tilemap>();
for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x++)
{
if (x == 0 || x == width - 1 || y == 0 || y == height - 1)
{
tilemap.SetTile(new Vector3Int(x, y, 0), groundTileOutLine);
}
else
{
tilemap.SetTile(new Vector3Int(x, y, 0), groundTile);
}
}
}
}
}
Result: 단순하고 반복적인 타일맵은 코드를 사용해서도 깔 수 있습니다.
'UnityEngine' 카테고리의 다른 글
| [Unity] Overlap~ (2) | 2025.07.10 |
|---|---|
| [Unity] 룰 타일 (Rule Tile) (1) | 2025.07.07 |
| [Unity] Slider를 제어하는 프로퍼티와 메서드 (0) | 2025.07.04 |
| [Unity] 부모 밖으로 나가면 잘리는 UI (Rect Mask 2D) (0) | 2025.07.03 |
| [Unity] Sorting Layer (0) | 2025.07.01 |