반응형
728x170
BoxFill(Vector3Int position, TileBase tile, int startX, int startY, int endX, int endY)
타일 맵에서 할당한 타일로 상자를 채웁니다.
주어진 좌표에서 시작하여 처음부터 끝까지(포함) 제한을 채웁니다.
BoxFillExample Script
public class BoxFillExample : MonoBehaviour
{
public Tilemap tilemap;
public TileBase tileBase;
void Update() {
if (Input.GetKeyDown(KeyCode.Q)) {
tilemap.BoxFill(Vector3Int.zero, tileBase, -5, -5, 5, 5);
}
}
}
for문과 setTile을 활용하여 타일을 생성하는 방법도 존재하지만
위와 같이 boxfill을 활용하여 생성 지점으로부터 Start x, y에서 end x, y 지점까지 타일을 생성할 수 있습니다.
※ 시작 지점에 타일이 생성되어있는 경우 타일을 채우지 않습니다. (시작 지점의 타일 제거)
※ 타일 맵의 사이즈가 작을 경우 아래와 같이 원하는 만큼 가득 채우지 못합니다. (타일 맵의 사이즈를 크게 변경)
ClearAllTiles()
타일 맵에 배치된 모든 타일을 지웁니다.
ClearAllTiles Script Example
public class ClearAllTiles : MonoBehaviour {
public Tilemap tilemap;
public TileBase tileBase;
void Update() {
if (Input.GetKeyDown(KeyCode.Q)) {
tilemap.BoxFill(Vector3Int.zero, tileBase, -5, -5, 5, 5);
}
if (Input.GetKeyDown(KeyCode.W)) {
tilemap.ClearAllTiles();
}
}
}
ClearAllTiles을 사용한 후에는 Tilemap의 Size가 0,0으로 작아 지기 때문에
Boxfill을 재사용했을 때 원하는 만큼 타일이 깔리지 않는것을 확인 할 수 있습니다.
그러므로 Clear를 사용한 후에는 Tilemap.Size를 다시 변경해주어야 합니다.
반응형
그리드형
'유니티정보' 카테고리의 다른 글
유니티 구 버전 설치하기 (0) | 2023.03.20 |
---|---|
유니티 GetAxis GetAxisRaw 차이 (0) | 2022.08.24 |
유니티 Tilemap Script example 1 (1) | 2022.07.31 |
Unity Ads 관련 문제 체크해보기 (0) | 2022.05.09 |
유니티 Rigidbody 알아보기 (0) | 2022.02.22 |