layer_tilemap_destroy 함수 설명
layer_tilemap_destroy 함수는 주어진 타일 맵 요소를 삭제하는 기능을 제공합니다. 이 함수는 타일 맵 ID를 인자로 받아 해당 타일 맵을 제거합니다. 주의할 점은 이 함수가 레이어 자체를 삭제하는 것이 아니라, 레이어에 포함된 타일 맵만 삭제한다는 것입니다. 만약 타일 맵이 Room Editor에서 추가된 것이라면, 방을 나갔다가 다시 들어오면 타일 맵이 다시 생성됩니다. 그러나 방이 지속적(persistent)인 경우, 방의 지속성이 꺼지지 않는 한 타일 맵은 삭제됩니다.
문법
layer_tilemap_destroy(tilemap_element_id);
인자 설명
| 인자 이름 | 타입 | 설명 |
|---|---|---|
| tilemap_element_id | Tile Map Element ID | 삭제할 타일 맵의 고유 ID 값 |
반환값
- N/A
활용 예제
아래 코드는 "Tiles_trees" 레이어에서 주어진 타일 맵 요소가 존재하는지 확인하고, 존재할 경우 해당 타일 맵을 삭제하는 예제입니다.
var lay_id = layer_get_id("Tiles_trees");
var tile_id = layer_tilemap_get_id(lay_id);
if (layer_tilemap_exists(lay_id, tile_id)){
layer_tilemap_destroy(tile_id);
}
추가 활용 예제
- 타일 맵 생성 후 삭제
gml var lay_id = layer_get_id("Tiles_ground"); var tile_id = layer_tilemap_create(lay_id, ...); // 타일 맵 사용 코드 layer_tilemap_destroy(tile_id); - 조건에 따라 타일 맵 삭제
gml var lay_id = layer_get_id("Tiles_water"); var tile_id = layer_tilemap_get_id(lay_id); if (some_condition) { layer_tilemap_destroy(tile_id); } - 모든 타일 맵 삭제
gml var lay_id = layer_get_id("Tiles_all"); var tile_count = layer_tilemap_get_count(lay_id); for (var i = 0; i < tile_count; i++) { var tile_id = layer_tilemap_get_id(lay_id, i); layer_tilemap_destroy(tile_id); }
이와 같이 layer_tilemap_destroy 함수를 활용하여 타일 맵을 효율적으로 관리할 수 있습니다.